在querySelectorAll()中插入变量不起作用

问题描述 投票:0回答:1

我做了一个for循环来为数组中的多个元素执行一些代码。在这个for循环中有一个querySelectorAll()但由于querySelectorAll()需要在每个循环中使用diffirent元素,我试图在其中插入一个变量,但这给了我一个错误。当我将该变量的确切输出直接输入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

谢谢!

javascript variables selectors-api uncaught-exception
1个回答
1
投票

选择器本身不需要使用引号。你只需要删除双引号:

'.' + tipContainerClassName + ' .pageContent-exercise-help-model-tip-select-container-li'
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.