DOM javascript-添加选定的所有元素

DOM javascript-添加选定的所有元素,javascript,dom,Javascript,Dom,我正在使用DOM,当我按下“I”键时,所有元素都应该得到“selected”类 我不明白为什么我写的代码不起作用,请帮助我 我的想法是收集在“节点列表”中没有选择类的所有元素的列表。一旦我有了它,我循环遍历nodelist,并向每个元素添加类“selected”。最后,我想记录选择了多少个元素。但是,此代码的任何部分都不起作用!我做错了什么 提前谢谢 if(keyCode === 105) { nodeList = document.querySelectorAll("not(.

我正在使用DOM,当我按下“I”键时,所有元素都应该得到“selected”类

我不明白为什么我写的代码不起作用,请帮助我

我的想法是收集在“节点列表”中没有选择类的所有元素的列表。一旦我有了它,我循环遍历nodelist,并向每个元素添加类“selected”。最后,我想记录选择了多少个元素。但是,此代码的任何部分都不起作用!我做错了什么

提前谢谢

if(keyCode === 105) {
        nodeList = document.querySelectorAll("not(.selected)");
        for(i= 0; i< nodeList.length; i++) {
             place = nodeList[i];
             place.classList.add("selected");            
        }
        nodeList = document.querySelectorAll(.selected);
        console.log(nodeList.length);
    } 
if(keyCode==105){
nodeList=document.querySelectorAll(“未(.selected)”;
对于(i=0;i
我认为使用它的问题在于,您使用它作为元素选择器(语法错误)

if(keyCode==105){
nodeList=document.queryselectoral(“:not(.selected)”;//它是一个伪选择器
对于(i=0;i
未(.selected)
应为
:未(.selected)
谢谢您的回答。它现在工作得更好了,但是我遇到了一个新问题。现在,它将类“selected”添加到所有元素中,包括body、title和脚本。这不是我想要的。如何编写代码以便删除这三个类?请尝试
document.queryselectoral(“body:not(.selected):not(script)”
if (keyCode === 105) {
    nodeList = document.querySelectorAll(":not(.selected)");//it is a pseudo selector
    for (i = 0; i < nodeList.length; i++) {
        place = nodeList[i];
        place.classList.add("selected");
    }
    nodeList = document.querySelectorAll('.selected');//also use string literal here
    console.log(nodeList.length);
}