mav*_*ros 5 javascript getelementsbyclassname
在下面的简单HTML中,我想获得class1但不包含class2的所有元素.
<li class="class1 class2"></li>
<li class="class1 class3"></li>
<li class="class1 class4"></li>
Run Code Online (Sandbox Code Playgroud)
通过使用getElementsByClassName('class1')我们可以获取所有元素,然后通过检查某个类是否存在来删除元素.
有没有更好的方法来做到这一点,没有迭代?
我发现这篇关于获取具有多个类的元素的有趣帖子,所以我敢问:有这样的事情:document.getElementsByClassName("class1 !class2")?
PS:我不想使用jQuery.
Mac*_*eeE 10
如果您不介意使用越来越兼容 .querySelectorAll()的产品,只需:
var getClassOne = document.querySelectorAll( '.class1:not(.class2)' );
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/5tSGv/52/
虽然没有它,你必须以某种方式迭代className