let List = document.createElement("div");
List.setAttribute('id', 'name');
let List1 = document.createElement("ul");
let List2 = document.createElement("li");
let Value = document.createTextNode("america");
List2.appendChild(Value);
let List3 = document.createElement("li");
Value = document.createTextNode("london");
List3.appendChild(Value);
List1.appendChild(List2);
List1.appendChild(List3);
List.appendChild(List1);
When i enter let li = document.querySelectorAll("#name li");
我没有获得带有 li 标签的列表元素?代码有什么问题吗?
最佳答案
否则该调用将是:
List.querySelectorAll("#name li");
//better more
List.querySelectorAll("li");
//because you already have the handle for #name element in your hands.
无论它们是否已附加到文档中,您都将获得查询的元素。
如果您已经拥有查询主题的根节点,则切勿在查询选择器上调用文档元素。或者是否已有可用的本地包装器唯一 ID。
成本太高了!
您应该始终避免这种情况。
除非没有其他选择,否则切勿使用查询选择器 all。
List.getElementsByTagName("li");
始终是一种更可取的方式 - 而且速度更快。
关于javascript - 当我在 javascript 中手动创建列表时,无法使用 querySelectorAll(); 获取值;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478734/