js将dom元素集合转换为数组

快乐打工仔 分类:实例代码

本章节介绍一下如何将dom元素集合转换为数组。

先看一段代码实例:

var lis = document.querySelectorAll("#box li");

生成的lis是一个dom元素集合,也可以说它是一个类数组,但并不是真正的数组,不具有数组对象的一些方法(),比如sort()、reduce()、map()、filter();更多关于数组对象内容可以参阅javascript Array对象一章节。

所以需要将类数组转换为真正的数组,代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<style type="text/css">
#box li {
  width: 350px;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
}
</style>
<script type="text/javascript">
window.onload = function () {
  var lis = document.querySelectorAll("#box li");
  var arr= [].slice.call(lis);
  arr.map(function (elem,index) {
    if(index%2==0){
      elem.style.backgroundColor = "#ccc";
    }
  })
}
</script>
</head>
<body>
<ul id="box">
  <li>前端教程网欢迎您,只有努力才会有美好的未来</li>
  <li>每一天都是新的,必须要好好把握。</li>
  <li>没有人一开始就是高手,必须要努力奋斗。</li>
  <li>未来都是虚无缥缈的,只有当前是现实。</li>
  <li>分享和互助式进步的最大原动力</li>
  <li>本站的url地址是www.pipipi.net。</li>
</ul>
</body>
</html>

上面的代码实现了我们的要求,其实ES2015也可以实现此功能,具体可以参阅Array.from()一章节。

相关阅读:

(1).slice()方法可以参阅javascript slice()一章节。

(2).document.querySelectorAll()方法可以参阅document.querySelectorAll()一章节。

(3).map()可以参阅Array map()方法一章节。

js将dom元素集合转换为数组,这样的场景在实际项目中还是用的比较多的,关于js将dom元素集合转换为数组就介绍到这了。

js将dom元素集合转换为数组属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容