使用变量作为 id 的"querySelectorAll"上的选择器无效



我有一个通过变量传递的动态ID。不幸的是,当试图将其引用到querySelectorAll时,我遇到了一个错误:

Failed to execute 'querySelectorAll' on 'Document':'#paragraph-1 .is-available"' is not a valid selector.

我的代码低于

var x = ('"#' + dataID + ' is-available"');
var test = document.querySelectorAll (x);
console.log(test);

当我查看控制台日志时,它会将其正确输出到:

#paragraph-1 .is-available

你知道我应该如何将变量引用到我的querySelectorAll中吗?

两件事:

  1. 去掉选择器中的双引号
  2. is-available的选择器中添加并用.替换空白

您应该使用此选择器获得正确的结果:

document.querySelectorAll('#' + dataID + '.is-available');

更新:

目前尚不清楚是选择具有指定ID的元素的所有子元素,还是选择具有指定的ID和类的所有元素。如果要选择子元素,则保留空白并将.添加到is-available。使您的代码如下:

document.querySelectorAll('#' + dataID + ' .is-available');

最新更新