jQuery获取所有没有class属性的div

jQuery获取所有没有class属性的div,jquery,jquery-selectors,Jquery,Jquery Selectors,获取具有class属性的所有div $('div[class]') $('div[class!=""]') 获取所有没有class属性的div $('div[class]') $('div[class!=""]') 这段代码有效,但我不明白它为什么有效。如果上面的代码有效,那么所有具有class属性的div的代码应该是 $('div[class=""]') 不会产生任何结果。请尝试以下方法: 编辑 对以下内容的描述: 匹配具有指定属性的元素 将具有指定属性的元素与特定值匹配

获取具有class属性的所有div

$('div[class]')
$('div[class!=""]')
获取所有没有class属性的div

$('div[class]')
$('div[class!=""]')
这段代码有效,但我不明白它为什么有效。如果上面的代码有效,那么所有具有class属性的div的代码应该是

$('div[class=""]') 
不会产生任何结果。

请尝试以下方法:


编辑

对以下内容的描述:


  • 匹配具有指定属性的元素

  • 将具有指定属性的元素与特定值匹配

  • 匹配不具有指定属性或具有指定属性但不具有特定值的元素
这意味着
div[class=”“]
将选择具有用空值指定的
class
属性的所有div元素

但最后一个选择器是jQuery的专有选择器,而不是一个。您需要使用
:not()
来选择所有没有类的DIV元素:

div:not([class])

$('div[class=”“])
选择器实质上是这样的:“获取class属性中有空字符串作为其值的所有div元素。”-这排除了class属性中有任何值的所有div元素,空字符串除外,以及所有根本没有设置class属性的div元素。

重要的是要认识到,有空的class属性,也有没有class属性的元素,但它们需要不同的测试来选择

有许多测试都做不同的事情。以下是我们测试的HTML:

<div class="">Empty Class Attribute </div>
<div class="column">Full Class Attribute </div>
<div>No Class Attribute </div>
您可以通过访问此处在浏览器中查看此代码:

现在,有了这些知识,如果您想选择页面上具有空白属性和无属性的每个
div
元素,请使用以下选择器:

$("div[class=''], div:not([class])");
试一试


这意味着获取所有具有任何名称的类的div。。这并没有回答提出的问题。@Scott Evernden:嗯,事实上我看不到任何问题。。)对于多个
not
案例,您可以执行类似
div:not([class],[style])
的操作。我不明白为什么这个条目有这么多投票权-它甚至不提问。
jQuery('div[class^=""]')
$('div[class^=""]')