Home >Web Front-end >JS Tutorial >Detailed explanation of the attribute methods of element objects in DOM based on js
In HTML DOM (Document Object Model), each part is a node.
Nodes are the most basic components of the DOM structure. Each HTML tag is a node of the DOM structure.
The document is a document node.
All HTML elements are element nodes
All HTML attributes are attribute nodes
Text inserted into HTML elements are text nodes
Comments are comments node.
The most basic node type is the Node type. All other types are inherited from Node. DOM operations are often the most expensive part of js, so NodeList causes the most problems. Note: NodeList is 'dynamic', that is to say, every time a NodeList object is accessed, a query will be run. Although this increases the overhead, it can ensure that our newly added nodes can be accessed in the NodeList.
All element nodes have common attributes and methods, let’s take a look in detail:
Let’s first look at the more commonly used general attributes
1 element.id Sets or returns the element's id.
2 element.innerHTML Sets or returns the content of the element, which can include subtags and content in the node
3 element.innerText Sets or returns the content of the element, excluding subtags in the node And the content
4 element.className Set or return the class name of the element
5 element.nodeName Return the uppercase label name of the node
6 element.nodeType Return the node The node type of the point, 1 represents the element node 2 represents the attribute node...
7 element.nodeValue Returns the value of the node, the value of the element node is null
8 element.childNodes Return The nodeslist object of the element's child nodes. nodelist is similar to an array and has a length attribute. You can use square brackets [index] to access the value of the specified index (you can also use the item(index) method). But nodelist is not an array.
9 element.firstChild/element.lastChild Returns the first/last child node of the element (including comment nodes and text nodes)
10 element.parentNode Returns the parent node of the node
11 element.previousSibling Returns the previous node at the same level as the current node (including comment nodes and text nodes)
12 element.nextSibling Returns the next node at the same level as the current node (including Comment nodes and text nodes)
13 element.chileElementCount: Returns the number of child elements (excluding text nodes and comment nodes)
14 element.firstElementChild /lastElementChild returns the first/last A child element (excluding text nodes and comment nodes)
15 element.previousElementSibling/nextElementSibling Returns the previous/next sibling element (excluding text nodes and comment nodes)
16 element. clientHeight/clientWidth Returns the visual height/width of the content (not including borders, margins or scroll bars)
17 element.offsetHeight/offsetWidth /offsetLeft/offset/Top Returns the height/width of the element relative to the parent The left offset/right offset of the element (including borders and padding, excluding margins)
18 element.style Sets or returns the style attribute of the element. Example: element.style.backgroundColor Note that, unlike CSS, the style attribute must remove the horizontal bar and the first letter of the second word must be capitalized
19 element.tagName Returns the tag name of the element (capital)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <style> .form_style{ color: #5b5b5b; font-size: large; border: 5px solid rebeccapurple; background-color: antiquewhite; width: 440px; height: 120px; position: relative; left: 20px; top:20px; margin:10px; } p { color: #5b5b5b; font-size: larger; text-indent: 40px; } </style> </head> <body> <form id='first_form' name="cangjingge" > 请选择功法:<br/> <input type="radio" name="gongfa" value="jysg">九阳神功<br/> <input type="radio" name="gongfa" value="qkdny">乾坤大挪移<br/> <input type="radio" name="gongfa" value="khbd">葵花宝典<br/> <input type="radio" name="gongfa" value="xxdf">吸星大法<br/> </form> <p>少侠请三思!!!</p><!--注释标签--> <p>推荐功法-->葵花宝典</p> <script> //js演示代码请添加至此 var a=document.getElementById('first_form'), b = document.getElementsByTagName('p')[0]; console.log(a.id); console.log(a.innerHTML); console.log(a.className); console.log(a.childNodes); console.log(a.firstChild); console.log(a.lastChild); console.log(a.nodeName); console.log(a.nodeType); console.log(a.nodeValue); console.log(a.parentNode); console.log(a.clientHeight); console.log(a.offsetHeight); console.log(b.nextSibling); console.log(b.nextElementSibling); </script> </body> </html>
The browser displays the results:
There are also some exclusive attributes
Exclusive attributes refer to those attributes that are exclusive to a certain tag. For example, the tag has href and target attributes. has the src attribute;
a_element.href Returns the hyperlink pointed to by the current node
Let’s take a look at the more commonly used general methods:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <style> .form_style{ color: #5b5b5b; font-size: large; } p { color: #5b5b5b; font-size: larger; } </style> </head> <body> <form id='first_form' name="cangjingge" > 请选择功法:<br/> <input type="radio" name="gongfa" value="jysg">九阳神功<br/> <input type="radio" name="gongfa" value="qkdny">乾坤大挪移<br/> <input type="radio" name="gongfa" value="khbd">葵花宝典<br/> <input type="radio" name="gongfa" value="xxdf">吸星大法<br/> </form> <p>少侠请三思!!!</p> <script> //js演示代码请添加至此 </script> </body> </html>
(All the following js demonstration codes are based on the sample html code in this document as the experimental object)
1 element.appendChild(nodeName) Adds a new child node to the element as the last A child node and returns that child node. To add a new element to the HTML DOM, you must first create the element and then append it to an existing element.
js demo code:
var a=document.getElementById('first_form'); var textnode=document.createTextNode("慎重选择"); a.appendChild(textnode)
2 element.getAttribute(para) Returns the specified attribute value of the element node.
js demo code:
var a=document.getElementById('first_form'); console.log(a.getAttribute('name')) //控制台输出name的值
3 element.getAttributeNode(para) Returns the specified attribute node.
js demo code:
var a=document.getElementById('first_form'); console.log(a.getAttributeNode('name')) //控制台输出name属性节点
4 element.getElementsByTagName(para) Returns a collection of all child elements with the specified tag name.
js demo code:
var a=document.getElementById('first_form'); console.log(a.getElementsByTagName('input')) //控制台输出
5 element.hasAttribute(para) 如果元素拥有指定属性,则返回true,否则返回 false。
js演示代码:
var a=document.getElementById('first_form'); console.log(a.hasAttribute('name')) //控制台输出
6 element.insertBefore(insertNode,appointedNode) 在指定的已有的子节点之前插入新节点。
js演示代码:
var a=document.getElementById('first_form'); var inputList=document.getElementsByTagName('input'); var newNode=document.createElement('input'); var newNode2=document.createTextNode('天马流星拳'); var br=document.createElement('br'); newNode.type='radio'; newNode.name='gongfa'; newNode.value='tmlxq'; a.insertBefore(newNode,inputList[2]); a.insertBefore(newNode2,inputList[3]); a.insertBefore(br,inputList[3]);
7 element.removeAttribute() 从元素中移除指定属性。
js示例代码:
var a=document.getElementById('first_form'); a.removeAttribute('name'); console.log(a.hasAttribute('name'))
8 element.removeChild() 从元素中移除子节点。移除的节点虽然不在文档树中了,但其实还在内存中,可以随时被引用。
js示例代码:
var a=document.getElementById('first_form'); a.removeChild(a.childNodes[3]);
9 element.replaceChild(newNode,replaceNode) 把指定节点替换为新节点。
10 element.setAttribute(attrName,attrValue) 把指定属性设置或更改为指定值。
js示例代码:
var a=document.getElementById('first_form'); a.setAttribute('name','shaolinsi'); console.log(a.name)
11 element.setAttributeNode() 修改指定属性节点
js示例代码:
var a=document.getElementById('first_form'); var attr = document.createAttribute('id'); attr.value='the_first'; a.setAttributeNode(attr); console.log(a.id)
12 nodelist.item() 返回 NodeList 中位于指定下标的节点。
js示例代码:
var a=document.getElementsByTagName('input') console.log(a.item(2))
以上就是小编为大家带来的Detailed explanation of the attribute methods of element objects in DOM based on js全部内容了,希望大家多多支持PHP中文网~
更多Detailed explanation of the attribute methods of element objects in DOM based on js相关文章请关注PHP中文网!