gpt4 book ai didi

javascript - 在 jQuery 中选择类名作为超过 2 个单词的变量

转载 作者:行者123 更新时间:2023-12-03 02:10:30 24 4
gpt4 key购买 nike

我试图弄清楚是否可以选择一个包含超过 2 个单词的 div 作为变量中的类名。即 $("div[class='LIKES & DISLIKES']") 这工作正常,但问题是我在变量中有这个类名 LIKES & DISLIKES ,我无法在 $("div[class='+ variable +']") 中使用变量。我尝试了一些东西

var element = document.getElementsByClassName(variable)

但这给了我 HTML 集合,我不知道如何从中检索我的 div 元素。

所以我在类名中定义了一个文本,这样我就可以使用隐藏所有文本$("[class*='showtab']").hide() 并显示已单击 anchor 标记的类 $(".showtab"+lab).show ()这在两个单词的类名(即 Style cat)之前工作正常,但不适用于超过 3 个单词的类名(即 LIKES & DISLIKES

)

这适用于 $('.showtabStyle.cat') 但不适用于 $('.showtabLIKES.&.DISLIKES') 但我有喜欢。 &.DISLIKES 位于变量中,我将其附加到文本 showtab

我的代码做了这样的事情

 $(document).on("click", ".nav-link-in", function (e){
var labtemp = $(this).text().trim().replace(/\s+/g, ".");
var lab = labtemp.replace(/\([\s\d\/]+\)/, ""); // this to remove extra space for `LIKES & DISLIKES` and replace it with .this gives `LIKES.&.DISLIKES` as i am removing number within bracket also
$("[class*='showtab']").hide();
$(".showtab"+lab).show();
}

此代码适用于一个/两个单词的类名称,但不适用于两个以上的单词。

$("div[class='showtabLIKES & DISLIKES']") 效果很好,但正如我所说,我在变量中有类名 LIKES & DISLIKES

最佳答案

单个类名不能包含多个单词,单词之间用空格分隔。这是不允许的。因此,如果您说您有一门“喜欢和不喜欢”的类(class),那么这是无效的。这些可能是三个类(如果 & 是有效的类名,不确定)。如果您的意思是两个类有两个变量,并且您想要选择同时具有这两个类的元素,那么您应该这样做:

$("."+var1+"."+var2)

template literals你甚至可以这样做:

$(`.${var1}.${var2}`)

关于javascript - 在 jQuery 中选择类名作为超过 2 个单词的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49596361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com