In JavaScript, the attribute node refers to the attribute object, which represents an attribute of the HTML element; the constant of the attribute node is represented as "ATTRIBUTE_NODE", and the representative constant value is "2". You can use this constant to Determine the node type.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
DOM (Document Object Model) is the document object model. Using DOM technology can realize dynamic changes in web pages, such as dynamically displaying or hiding an element, changing their attributes, adding an element, etc. DOM technology greatly enhances user interactivity with web pages.
DOM Node Types
Nodes in the DOM tree can be classified in different ways. According to the level of the node, it can be mainly divided into: ancestor node (the collective name of all nodes above the current node), parent-child node (indicating the relationship between the upper and lower nodes), and descendant node (the collective name of all nodes below the current node). ) and sibling nodes (collectively referred to as all nodes with the same parent node) and so on.
According to the node type, it can be mainly divided into: document node, element node, attribute node, text node, and comment node. Different types of nodes have a corresponding constant, which represents a specific value. This constant can be used to determine the node type. The constant representations of commonly used HTML DOM nodes and the values they represent are shown in the table below.
Node types | Node type constants | Constant values |
---|---|---|
document node | DOCUMENT_NODE | 9 |
Element node | ELEMENT_NODE | 1 |
Attribute Node | ATTRIBUTE_NODE | 2 |
Text Node | TEXT_NODE | 3 |
Comment Node | COMMENT_NODE | 8 |
JS Attribute Node
In the HTML DOM, an attribute node is an attribute object, representing an attribute of the HTML element. An element can have multiple attributes. All attributes of an element are stored in an unordered collection NamedNodeMap. Nodes in a NamedNodeMap can be accessed by name or index.
Use DOM to process HTML document elements. Sometimes you need to process the attributes of the elements. In this case, you need to use the attributes and related methods of the attribute nodes. The common attributes and related methods of attribute nodes are shown in the table below.
Properties/Methods | Description |
---|---|
nodeName | name | Referenced through the attribute object, returns the name of the element attribute |
nodeValue | value | Referenced through the attribute object, Set or return the value of the element attribute |
Item (node subscript) | Return the node with the specified subscript in the attribute node set |
lengh | Returns the number of nodes in the attribute node set |
nodeType | Returns the type value of the attribute node |
Note: The attributes name and nodeName have the same effect, and the attributes value and nodeValue have the same effect.
Example: Manipulate attribute nodes.
<!doctype html> <html> <head> <meta charset="utf-8"> <title>操作属性节点</title> </head> <body> <a href="ex7-1.html" title="document节点的应用" id="a1">document节点</a> <script> var oA = document.getElementById('a1'); var aAttr = oA.attributes;//获取a元素的所有属性节点 console.log('a元素具有以下属性节点:'); for(var i = 0; i < aAttr.length; i++){//遍历a元素的所有属性节点 console.log(aAttr[i]); } console.log('aAttr[0]节点类型为:'+aAttr[0].nodeType);//获取第一个属性节点的类型值 console.log('aAttr[0]节点名称为:'+aAttr[0].nodeName);//获取第一个属性节点的节点名 console.log('aAttr[0]节点值为:'+aAttr[0].nodeValue);//获取第一个属性节点的节点值 </script> </body> </html>
You can also use item() to access elements in the attribute node list. aAttr[0] is equivalent to aAttr.item(0). In addition, aAttr[0].nodeName is equivalent to aAttr[0] .name, aAttr[0].nodeValue is equivalent to aAttr[0].value. The result of running the above code in the Chrome browser is shown in Figure 1.
[Related recommendations: javascript learning tutorial]
The above is the detailed content of What is JavaScript attribute node. For more information, please follow other related articles on the PHP Chinese website!