在 querySelectorAll() 中插入变量不起作用
inserting a variable in a querySelectorAll() doesn't work
我做了一个for循环来为数组中的多个元素执行一些代码。在这个 for 循环中有一个 querySelectorAll(),但由于 querySelectorAll() 需要在每个循环中使用不同的元素,我试图在其中插入一个变量,但这给了我一个错误。当我将该变量的确切输出直接放入 querySelectorAll() 时,它确实有效。有谁知道如何解决这个问题?
(1) 这是工作时的代码,但正如我所说,实际的 className 需要更改。这就是为什么我要插入一个变量。
var tipSelectors0 = document.querySelectorAll(".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li");
(2)这是无效的代码。但正如您在评论和控制台中看到的那样。变量输出和我通过代码(1)输入的完全一样。
Line637 var tipContainerClassName = "tipContainer" + j; //j = 0
Line638 var newClassName ='".' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li"';
Line639 console.log(newClassName); //Outputs: ".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li"
Line640 var tipSelectors0 = document.querySelectorAll(newClassName);
(3) 这是我在控制台中使用代码 (2)
得到的错误
".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li" Leerstof.html:639
Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document': '".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li"' is not a valid selector. Leerstof.html:640
谢谢!
选择器本身不需要使用引号。您只需要删除双引号:
'.' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li'
我做了一个for循环来为数组中的多个元素执行一些代码。在这个 for 循环中有一个 querySelectorAll(),但由于 querySelectorAll() 需要在每个循环中使用不同的元素,我试图在其中插入一个变量,但这给了我一个错误。当我将该变量的确切输出直接放入 querySelectorAll() 时,它确实有效。有谁知道如何解决这个问题?
(1) 这是工作时的代码,但正如我所说,实际的 className 需要更改。这就是为什么我要插入一个变量。
var tipSelectors0 = document.querySelectorAll(".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li");
(2)这是无效的代码。但正如您在评论和控制台中看到的那样。变量输出和我通过代码(1)输入的完全一样。
Line637 var tipContainerClassName = "tipContainer" + j; //j = 0
Line638 var newClassName ='".' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li"';
Line639 console.log(newClassName); //Outputs: ".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li"
Line640 var tipSelectors0 = document.querySelectorAll(newClassName);
(3) 这是我在控制台中使用代码 (2)
得到的错误".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li" Leerstof.html:639
Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document': '".tipContainer0 .pageContent-exercise-help-model-tip-select-container-li"' is not a valid selector. Leerstof.html:640
谢谢!
选择器本身不需要使用引号。您只需要删除双引号:
'.' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li'