如何使用查询选择器获取标签内的元素?

cod*_*der 6 javascript list typescript htmlelements

var divElement = document.createElement("div");
divElement.setAttribute('id', 'Items');

var ulElement = document.createElement("ul");
var liElement = document.createElement("li");
var spanElement1 = document.createElement("span");
var spanElement2 = document.createElement("span");
liElement.appendChild(spanElement1);
liElement.appendChild(spanElement2);
ulElement.appendChild(liElement);
Run Code Online (Sandbox Code Playgroud)

当我输入选择器查询时,我无法获取元素。

document.querySelectorAll("divElement ul li"); 应该给
document.querySelectorAll("#Items ul li");

但它不起作用,如何在运行时获取 id????

cod*_*der 5

终于想出了解决办法。我们可以使用getElementById从用户那里获取“id”,然后应用查询选择器很简单。

document.getElementById(id).querySelectorAll('ul li');


Gil*_*esC 2

divElement.querySelectorAll('ul li')如果您仍然有权访问divElementdocument.querySelectorAll('div ul li')无法访问,请使用。

注意这里没有点。.用于 CSS 中的类。对于元素,您只需使用标签名称即可。

divElement是您在 JS 中创建的元素的引用,但其 CSS 选择器div不是divElement。JS 名称变量不能在选择器字符串中使用。

很好地阅读了主题querySelectorAll 文档以及css 选择器的工作原理