HTML DOM的nodeType值

发布于 2022-09-30 18:41:38 字数 4626 浏览 15 评论 0

转:李惟

HTML DOM的nodeType值

将HTML DOM中几个容易常用的属性做下记录:

nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。
nodeName 属性含有某个节点的名称。

元素节点的 nodeName 是标签名称
属性节点的 nodeName 是属性名称
文本节点的 nodeName 永远是 #text
文档节点的 nodeName 永远是 #document
注释:nodeName 所包含的 XML 元素的标签名称永远是大写的

nodeValue
对于文本节点,nodeValue 属性包含文本。

对于属性节点,nodeValue 属性包含属性值。

nodeValue 属性对于文档节点和元素节点是不可用的。

nodeType
nodeType 属性可返回节点的类型。

最重要的节点类型是:

元素类型           节点类型
元素element          1
属性attr                 2
文本text                3
注释comments      8
文档document       9

HTML文件:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>DOM标准</title>
  6. <script type="text/javascript" src="test.js"></js>
  7. </head>
  8. <body>
  9. <h1 id="h1">An HTML Document</h1>
  10. <p id="p1">This is a <i>W3C HTML DOM</i> document.</p>
  11. <p><input id="btnDemo1" type="button" value="取H1 Element节点值"></p>
  12. <p><input id="btnDemo2" type="button" value="取H1 Element节点文本"></p>
  13. <p><input id="btnDemo3" type="button" value="取Document Element节点文本"></p>
  14. <p><input type="button" alt="这是个演示按钮" title="演示按钮提示标题" name="btnShowAttr" id="btnShowAttr" value="按钮节点演示" /></p>
  15. </body>
  16. </html>

复制代码JS:

  1. function showElement(){
  2. var element=document.getElementById("h1");//h1是一个<h1>标签
  3. alert('nodetype:'+element.nodeType);//nodeType=1
  4. alert('nodeName:'+element.nodeName);
  5. alert('nodeValue:'+element.nodeValue); //null
  6. alert('element:'+element);   
  7. }
  8. function showText(){
  9. var element=document.getElementById("h1");
  10. var text=element.childNodes[0];
  11. alert('nodeType:'+text.nodeType);  //nodeType=3
  12. alert('nodeValue:'+text.nodeValue);  //文本节点的nodeValue是其文本内容
  13. text.nodeValue=text.nodeValue+"abc"; //文本内容添加修改删除等等。
  14. alert('nodeName:'+text.nodeName);
  15. alert(text.data);   //data同样是其内容,这个属性下同样可以增删改。
  16. }
  17. function showDocument(){
  18. alert('nodeType:'+document.nodeType);  //9
  19. alert('nodeName:'+document.nodeName);
  20. alert(document);
  21. }
  22. function showAttr(){
  23. var btnShowAttr=document.getElementById("btnShowAttr"); //演示按钮,有很多属性
  24. var attrs=btnShowAttr.attributes;
  25. for(var i=0;i<attrs.length ;i++){
  26.   var attr=attrs[i];
  27.   alert('nodeType:'+attr.nodeType); //attribute 的nodeType=2
  28.   alert('attr:'+attr);
  29.   alert('attr.name:'+attr.name+'='+attr.value);
  30.   
  31. }
  32. }
  33. function demo(){
  34. var btnDemo1=document.getElementById("btnDemo1");
  35. btnDemo1.onclick=showElement;  //按钮1取节点nodetype值
  36. var btnDemo2=document.getElementById("btnDemo2");
  37. btnDemo2.onclick=showText;
  38. var btnDemo3=document.getElementById("btnDemo3");
  39. btnDemo3.onclick=showDocument;
  40. var btnShowAttr=document.getElementById("btnShowAttr");
  41. btnShowAttr.onclick=showAttr;
  42. }
  43. window.onload=demo;

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文