您的位置:首页 > 其它

1-DOM中-类数组对象遍历(转换)为数组

2016-11-13 13:52 169 查看
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DOM-BODY-类数组对象遍历(转换)为数组</title>
</head>

<body>
<div id="header">这个是头部</div>
<!--ctrl+E == 快速打印-->
<div id="content">
<div id="left">左侧</div>
<div id="right">右侧</div>
</div>

<script type="text/javascript">
//DOM API
//childNodes
var content = document.getElementById("content");
console.log(content.childNodes);
var nodes = content.childNodes;
// var arr = new Array();  arr-->Array.prototype nodes为类数组类型 不能调用数组当中的nodes.forEach();

//将(NodeList)类数组对象转换为数组对象
nodes = Array.prototype.slice.call(nodes,0);
console.log(nodes);
/*

//将节点遍历出来 数组当中的forEach
nodes.forEach(function(item){
console.log(item);
});
*/
//[过滤]获取所有的元素节点
var els = nodes.filter(function(item){
return item.nodeType ==1;
//item 当中放的是节点 为1的时候为元素节点
});
console.log(els);
/*
//IE中处理盒子当中的图片缝隙问题:font-size=0px; 或者,<div><img src=""></div> 写在一行 不回车也可以解决(回车相当于一个文本节点)
var body = document.body;
console.log(typeof body);  //object 对象
console.log(body.constructor);   // body是由 HTMLBodyElement()构建出来的实例
console.log(body.nodeType); //1 -->Element元素节点
//console.log(body.nodeValue);
console.log(body.nodeName.toLowerCase);  //大写的BODY 用String方法变小写
console.log(body instanceof HTMLBodyElement);  //true  HTMLElement
console.log(body instanceof Element);  //true
console.log(body instanceof Node);   //true

*/
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: