我正在使用DOM,当我按下键#34;我"所有元素都应该被选中"选择"。
我不明白为什么我写的那段代码不起作用,请帮助我。
我的想法是在" nodeList"中收集所有没有选择类的元素的列表。一旦我有了这个,我循环遍历nodelist并向每个元素添加类"选择"。最后我想console.log选择了多少个元素。但是,此代码的任何部分都不起作用!我究竟做错了什么?
提前致谢。
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);
}
答案 0 :(得分:2)
我认为问题是使用not,它是pseudo selector,你用它作为元素选择器(语法错误)
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);
}
答案 1 :(得分:1)
not(.selected)
应为:not(.selected)