Javascript 使用一个类而不是另一个类获取元素,但不进行迭代
在下面的简单HTML中,我希望使用class1获取所有元素,但不使用class2Javascript 使用一个类而不是另一个类获取元素,但不进行迭代,javascript,getelementsbyclassname,Javascript,Getelementsbyclassname,在下面的简单HTML中,我希望使用class1获取所有元素,但不使用class2 <li class="class1 class2"></li> <li class="class1 class3"></li> <li class="class1 class4"></li> 通过使用getElementsByClassName('class1')我们可以获得所有元素,然后可能通过删除元素 有没有更好的方法可以做到这一
<li class="class1 class2"></li>
<li class="class1 class3"></li>
<li class="class1 class4"></li>
通过使用getElementsByClassName('class1')
我们可以获得所有元素,然后可能通过删除元素
有没有更好的方法可以做到这一点,而无需迭代?
我发现了获取具有多个类的元素的方法,所以我敢问:是否有类似的方法:document.getElementsByClassName(“class1!class2”)
附言:我不想使用jQuery。如果您不介意使用的话,只需:
var getClassOne = document.querySelectorAll( '.class1:not(.class2)' );
小提琴:
虽然没有它,但您必须以某种方式迭代类名querySelectorAll()
返回一个静态(非活动)节点列表,表示与指定选择器组匹配的文档元素列表
因此,如果页面没有动态生成div,您可以使用
querySelectorAll()
谢谢,但问题是“有没有更好的方法来实现这一点?”,而不是您发布的内容(我在问题中描述了)我看到了!抱歉,我把问题看得太快了-添加了一个queryselectoral()
。谢谢。我一点也不介意用它。虽然我很想看到更多的建议,但如果没有,我会接受你的回答。谢谢!这是一个有用的提示。