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(); } } } }
相似问题