querySelectorAll.style 不起作用

Com*_*kup 5 html javascript

我正在用 JavaScript 编写一些我需要使用的东西,querySelectorAll.style但它总是返回 undefined,但它与querySelector.style. 我怎样才能让它正常工作,以便我可以设置样式?

document.querySelector("div#tabs" + tabId + "> div.page").style.display = 'none'; //works
document.querySelectorAll("div#tabs" + tabId + "> div.page").style.display = 'none';// doesn't work 
Run Code Online (Sandbox Code Playgroud)

Jam*_*rpe 5

querySelector

返回文档中的第一个元素...

querySelectorAll

返回文档中元素的列表...

在第一个 IE 中,您操作的是单个元素,该元素确实具有style属性。第二个是元素列表,因此您需要应用样式遍历该列表:

var els = document.querySelectorAll("div#tabs" + tabId + "> div.page");
for (var x = 0; x < els.length; x++)
    els[x].style.display = 'none';
Run Code Online (Sandbox Code Playgroud)


Ric*_*ton 5

querySelectorAll返回元素列表而不是单个元素。

所以这应该可以将样式应用于找到的第一个元素:

document.querySelectorAll("div#tabs" + tabId + "> div.page")[0].style.display = 'none'; // First element
Run Code Online (Sandbox Code Playgroud)