繁体   English   中英

在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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM