gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:10:01 24 4
gpt4 key购买 nike

我创建了一个 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'

关于javascript - 在 querySelectorAll() 中插入变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52238982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com