jQuery获取没有类属性的所有div。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (427)

获取具有class属性的所有div

$('div[class]')

获取没有class属性的所有div

$('div[class!=""]')

这段代码可以工作,但我不明白它为什么工作。如果上面的代码有效,那么所有带有class属性的div的代码应该是

$('div[class=""]') 

不会产生任何结果。

提问于
用户回答回答于

重要的是要认识到,有empty类属性以及without类属性的元素,但他们需要不同的测试来选择。

有很多测试都做不同的事情。这里是我们测试的HTML代码:

<div class="">Empty Class Attribute </div>
<div class="column">Full Class Attribute </div>
<div>No Class Attribute </div>

现在,让我们运行我们的测试(第一部分是一个简单的字符串,它可以帮助我们知道在alert中调用的是什么,否则它是没有意义的)

$(document).ready(function(e){
  // Outputs "Empty Class Attribute Full Class Attribute"
  alert( "div[class] : "     + $('div[class]').text()     );

  // Outputs "Full Class Attribute"
  alert( "div[class!=''] : " + $('div[class!=""]').text() );

  // Outputs "Empty Class Attribute" 
  alert( "div[class=''] : "  + $('div[class=""]').text()  );

  // Outputs "No class Attribute"
  alert( "div:not([class]) : " + $('div:not([class])').text()     );
});

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

$("div[class=''], div:not([class])");
用户回答回答于

扫码关注云+社区

领取腾讯云代金券