nodetype=1就是元素节点?这个nodetype是怎么个用法
来源:7-8 节点遍历(解决空白节点)
Victor19950925
2019-05-17 23:22:34
nodetype=1就是元素节点?这个nodetype是怎么个用法
2回答
qq_一切都是最好的安排_1
2019-05-17
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="css/7-2.css">
</head>
<body>
<div class="wrap">
<input id="add" type="button" value="添加元素">
<input id="del" type="button" value="删除元素">
</div>
<ul id="container">我是ul
<li>我是li1</li>
<li>我是li2</li>
<li>我是li3</li>
</ul>
<script src="js/domready.js"></script>
<script>
myReady(function(){
var str="";//存储打印在文档的字符串
/**
* 递归查找文本所有节点名称
* @param {标签对象} node 标签
* @return {string} 打印的文本
*/
function travel(node){
if (node.nodeType==1) {//node.nodeType==1,则不为空;node.nodeType==0,则返回空。
str+=node.tagName+"--";//读取每个节点的名称,这个递归需要做的只有读取节点名称
}
for (var i = 0; i < node.childNodes.length; i++) {//遍历当前节点的所有子节点
travel(node.childNodes[i]);//所有子节点进行递归
}
}
travel(document);//document是当前文档:从html开始。
document.write(str);//打印字符串
})
</script>
</body>
</html>以上是我写的用来遍历文档标签名称的代码,你可以仔细查看下。
首先你要理解:nodeType 表示节点类型。总而言之一句话:node.nodeType==1,节点类型则不是空节点(即不是空格);node.nodeType==0,则返回节点类型就是空节点。
回答不易,有望采纳!!!谢谢!!!
qq_一切都是最好的安排_1
2019-05-17
对了还有上面还有 一个引用文件: <script src="js/domready.js"></script> 这里src的地址自己修改下。一下是domready.js的文件内容。
function myReady(fn){
//对于现代浏览器,对DOMContentLoaded事件的处理采用标准的事件绑定方式
if ( document.addEventListener ) {
document.addEventListener("DOMContentLoaded", fn, false);
} else {
IEContentLoaded(fn);
}
//IE模拟DOMContentLoaded
function IEContentLoaded (fn) {
var d = window.document;
var done = false;
//只执行一次用户的回调函数init()
var init = function () {
if (!done) {
done = true;
fn();
}
};
(function () {
try {
// DOM树未创建完之前调用doScroll会抛出错误
d.documentElement.doScroll('left');
} catch (e) {
//延迟再试一次~
setTimeout(arguments.callee, 50);
return;
}
// 没有错误就表示DOM树创建完毕,然后立马执行用户回调
init();
})();
//监听document的加载状态
d.onreadystatechange = function() {
// 如果用户是在domReady之后绑定的函数,就立马执行
if (d.readyState == 'complete') {
d.onreadystatechange = null;
init();
}
}
}
}相似问题