如何遍历原始JavaScript中的dom元素?

Jim*_*mmy 3 javascript

我在jQuery中做了一切,但现在我回去学习JavaScript.那我怎么能在香草js中做相同的事情:

$('ul li a', '#myDiv').hide();
Run Code Online (Sandbox Code Playgroud)

Ray*_*nos 5

var as = document.querySelectorAll("#myDiv ul li a"),
    forEach = Array.prototype.forEach;

forEach.call(as, function(a) {
  a.style.display = "none";
});
Run Code Online (Sandbox Code Playgroud)

实例

.getElementById,.querySelectorAll,.forEach,.call

这适用于所有现代浏览器,仅在旧版浏览器(如IE8)上中断.

您不希望手动执行跨浏览器合规性,您应该使用DOM填充程序.

您可以使用ES5-shim获得.forEach支持.你可以在这里找到一个使用Sizzle 的querySelectorAll polyfill.

有关详细浏览器支持,请参

不要听那些抱怨浏览器合规性的人.使用Modernizr和朋友拍打一大堆polyfill 然后你就可以忘掉IE了!

  • 小心这个; `querySelector`和`Array.prototype.forEach`没有得到广泛支持(你需要一个非常现代的浏览器才能使用这个代码). (2认同)