'querySelectorAll'上的选择器使用id的变量

Joh*_*ohn 1 javascript

我有通过变量传递的动态ID.不幸的是,当尝试将其引入querySelectorAll我收到错误时:

Failed to execute 'querySelectorAll' on 'Document':'#paragraph-1 .is-available"' is not a valid selector.
Run Code Online (Sandbox Code Playgroud)

我的代码如下

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

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

#paragraph-1 .is-available
Run Code Online (Sandbox Code Playgroud)

知道我应该如何将变量引入我的querySelectorAll

Ash*_*nch 5

两件事情:

  1. 摆脱选择器中的双引号
  2. 添加用.选择器中的a替换空格is-available.

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

document.querySelectorAll('#' + dataID + '.is-available');
Run Code Online (Sandbox Code Playgroud)

更新:

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

document.querySelectorAll('#' + dataID + ' .is-available');
Run Code Online (Sandbox Code Playgroud)

  • 它在帖子中的位置表示`is-available`是*不是*id的孩子? (3认同)