如何获取属性节点的nodeName属性?例如我想获取input元素的type属性。

来源:9-7 节点属性

wobugaosuni2

2016-07-25 20:41

对于元素节点的属性,可以通过getElementsByTagName()获取标签,然后使用nodeName输出。那么对于属性节点的是怎么操作的呢?

写回答 关注

2回答

  • qq_二冬_0
    2016-07-26 11:07:05
    已采纳

    应该是用getAttributeNode(“属性名称”)这个方法吧,当然要先获取元素节点,再对元素节点使用这个方法

  • 柠檬叶子
    2016-07-26 15:38:15

    在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性 :

    1. nodeName : 节点的名称

    2. nodeValue :节点的值

    3. nodeType :节点的类型

    一、nodeName 属性: 节点的名称,是只读的。

    1. 元素节点的 nodeName 与标签名相同
    2. 属性节点的 nodeName 是属性的名称
    3. 文本节点的 nodeName 永远是 #text
    4. 文档节点的 nodeName 永远是 #document

    二、nodeValue 属性:节点的值

    1. 元素节点的 nodeValue 是 undefined 或 null
    2. 文本节点的 nodeValue 是文本自身
    3. 属性节点的 nodeValue 是属性的值

    三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:

    元素类型    节点类型
      元素          1
      属性          2
      文本          3
      注释          8
      文档          9


    例如:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    <div name="message" id="div1">test</div>
    <script type="text/javascript">
    var div1 = document.getElementById("div1").getAttributeNode("name");
    document.write(div1.nodeName+"<br/>"+div1.nodeValue);
    </script>
    </body>
    </html>

    输出结果:

    test

    name          //nodeName

    message      //nodeValue

    注:上例script放在属性节点后面,否则getAttributeNode()找不到属性节点。



JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题