


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中文网!

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.

The power of the JavaScript framework lies in simplifying development, improving user experience and application performance. When choosing a framework, consider: 1. Project size and complexity, 2. Team experience, 3. Ecosystem and community support.

Introduction I know you may find it strange, what exactly does JavaScript, C and browser have to do? They seem to be unrelated, but in fact, they play a very important role in modern web development. Today we will discuss the close connection between these three. Through this article, you will learn how JavaScript runs in the browser, the role of C in the browser engine, and how they work together to drive rendering and interaction of web pages. We all know the relationship between JavaScript and browser. JavaScript is the core language of front-end development. It runs directly in the browser, making web pages vivid and interesting. Have you ever wondered why JavaScr


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
