Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用一个类而不是另一个类获取元素,但不进行迭代_Javascript_Getelementsbyclassname - Fatal编程技术网

Javascript 使用一个类而不是另一个类获取元素,但不进行迭代

Javascript 使用一个类而不是另一个类获取元素,但不进行迭代,javascript,getelementsbyclassname,Javascript,Getelementsbyclassname,在下面的简单HTML中,我希望使用class1获取所有元素,但不使用class2 <li class="class1 class2"></li> <li class="class1 class3"></li> <li class="class1 class4"></li> 通过使用getElementsByClassName('class1')我们可以获得所有元素,然后可能通过删除元素 有没有更好的方法可以做到这一

在下面的简单HTML中,我希望使用class1获取所有元素,但不使用class2

<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()
    。谢谢。我一点也不介意用它。虽然我很想看到更多的建议,但如果没有,我会接受你的回答。谢谢!这是一个有用的提示。