jquery - 使用 jQuery 访问具有多个类的元素

标签 jquery class jquery-selectors

有时我们会定义一些具有多个类的元素,例如:-

<div class="a b c"> Hi this is div with multiple classes </div>

现在,我想使用 jQuery 选择器访问这个 div 所以我正在尝试:-

var cls = "a b c"; 
$("." + cls); // Returns []

这是有道理的,因为它实际上是在尝试查找类名为“a”的所有元素,然后尝试在类“a”的元素内部进一步查找子元素“b”和“c”,这在语义上是错误的。所以我找到了一种方法来找到这些元素:-

var a = "mk-search-contents boundary-top";
var all = $("div"); // Assuming I know the tagname if element i am interested in

for (var i=0; i<all.length; i++) {
    if (all.get(i).className == a) { console.log(all.get(i)); break; }
}

它给了我正确的答案,但我不明白为什么这是有效的以及如何使用 jQuery 选择这些元素。

最佳答案

只需使用此选择器:

$('.a.b.c')

className 为您提供由空格(“a b c”)分隔的所有类名称。但对于 css 和 jquery 选择器,你不能使用“a b c”。

你所做的是

$('.a b c')

这意味着“a类元素中b元素中的c元素”。

关于jquery - 使用 jQuery 访问具有多个类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12706240/

相关文章:

javascript - JQuery 数据表中的 Bootstrap Popover 在搜索后不起作用

C++类,友元运算符与外部运算符有什么区别

JQuery 问题与 firefox : $ ('#element_id' ). html() 不工作

javascript - 使用大量 jQuery 调用缩小页面上的 JavaScript 性能问题?

javascript - Popup Modal 的动态填充

vb.net - 为什么VB.NET中这个类有参数?

ruby - 在类的实例上动态调用方法(用户动态指定实例名称)

jquery-mobile - Jquery Mobile 1.3 slider 与面板冲突

javascript - Jquery,获取用户控件内的标签值

javascript - 动态元素附加到另一个 2 个动态元素中