任何人都可以给我一个HTML格式的属性节点示例,其nodeType
值为2吗?提前致谢。
答案 0 :(得分:6)
所有属性节点的类型必须为2,因为document.ATTRIBUTE_NODE
的定义类型为。{/ p>
请参阅MDN documentation on Attr
type:
<强>
nodeType
强>
此属性现在始终返回2(ATTRIBUTE_NODE
)。
一般例子:
var attr = document.getElementById('tistheid').attributes[1]
document.getElementById('num').innerHTML = document.ATTRIBUTE_NODE
var output = document.getElementById('output')
output.innerHTML = 'constructor:\t' + attr.constructor.name
+ '\n' + 'type:\t' + attr.nodeType
+ '\n' + 'value:\t' + attr.value
&#13;
<p id="tistheid" class="tistheclass"></p>
<p>
This is the value of ATTRIBUTE_NODE: <span id="num"></span>
</p>
<pre id="output">
</pre>
&#13;
尽管浏览器供应商和标准化组织试图让Attr
过去不再继承Node
,但他们最终决定将Node
保留在Attr
继承中链,由于旧网站的兼容性问题。但是,作为开发人员,现在应避免在Node
上使用从Attr
继承的方法。
编辑(2017-08-09):WHATWG再次从Attr
继承Node
。相应更新。
答案 1 :(得分:2)
您可以使用nodeType
Element.getAttributeNode()
值为2的节点
Per:https://developer.mozilla.org/en-US/docs/Web/API/Attr
此类型将DOM元素的属性表示为对象。多数情况 在DOM方法中,您可能会直接将该属性检索为 string(例如,Element.getAttribute(),但某些函数(例如, Element.getAttributeNode())或迭代方法给出Attr类型。
此类型似乎也已弃用:https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
答案 2 :(得分:0)
见下文
<!DOCTYPE html>
<html>
<body>
<p id="myP" class="buttonClass">Click the button to get the node type of this element.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.getElementById("myP").getAttributeNode("class").nodeType;
document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>