search
HomeWeb Front-endJS TutorialIntroduction to Javascript Chapter 8 js dom node attribute description_Basic knowledge

In the last two articles, we talked about using DOM to create nodes, copy nodes, insert nodes, delete nodes, replace nodes, find nodes, get attributes, etc. . .


Today we talk about DOM attributes.
In fact, we have already touched on DOM attributes before.
For example:
nodeName, nodeType.... Today we will explain in detail.


1, nodeName attribute: The name of the node.
If the node is an element node, return the name of the element. At this time, it is equivalent to the tagName attribute.
For example:

aaaa

: then returns p ;
If it is an attribute node, nodeName will return the name of this attribute.
If it is a text node, nodeName will return a #text string.

Another thing I want to say is: The nodeName attribute is a read-only attribute and cannot be set. (write)
It returns the value in uppercase letters.

2,,nodeType attribute: Returns an integer representing the type of this node.
We commonly use 3 types:
nodeType == 1 : Element node
nodeType == 2 : Attribute node
nodeType == 3 : Text node
If you want to remember, we You can remember it like this:
For example:

test

Read from front to back: You will find that first is the element node (1), then the attribute node (2), and finally Text node (3), so you can easily remember what type nodeType represents. (A little trick I summarized, ^_^.)

The nodeType attribute is often used in conjunction with if to ensure that the wrong operation is not performed on the wrong node type.
For example:
function cs_demo(mynode){
if(mynode.nodeType == 1){
mynode.setAttribute("title","demo");
}
}
Code explanation: First check the nodeType attribute of mynode to ensure that the node it represents is indeed an element node.
Like the nodeName attribute, it is also a read-only attribute and cannot be set (write).

3. nodeValue attribute: Returns a string, the value of this node.
If the node is an element node, then null is returned; (note below)
If it is an attribute node, nodeValue will return the value of this attribute.
If it is a text node, nodeValue will return the content of this text node.
For example:

aaaaaaaaaaaaaaaa



nodeValue is a property that can be read and written. But it cannot set the value of element node.
Look at the following example again:

aaaaaaaaaaaaaaaa



Of course, in order to ensure correct operation: we can add a piece of code:

aaaaaaaaaaaaaaa



//It can be seen that if you want to set the element node, you cannot set it directly, but you must first use firstChild or lastChild, etc. and then set the nodeValue.
nodeValue is generally Only used to set the value of text nodes. If you want to refresh the value of an attribute node, you generally use setAttribute().

4, childNodes attribute: Returns an array consisting of the child nodes of the element node.
Since text nodes and attribute nodes can no longer contain any child nodes,
so their childNodes property always returns an empty array.

You can use the hasChildNodes method, which is used to determine whether an element has child nodes.
or if (container.childNodes.length
childNodes is also a read-only attribute. If you want to add nodes, you can use appendChild() or insertBefore(),
To delete a node, you can use removeChild();
After the operation, the childNodes attribute will be automatically refreshed.

5, firstChild attribute:
Since text nodes and attribute nodes can no longer contain any child nodes,
so their firstChild attribute always returns an empty array. If there are no child nodes, null will be returned;
node.firstChild is equivalent to node.childNodes[0];
firstChild attribute is a read-only attribute.


6 , lastChild attribute:
Since text nodes and attribute nodes can no longer contain any child nodes,
so their lastChild attribute always returns an empty array. If there are no child nodes, null will be returned;
node.lastChild is equivalent to node.childNodes[ node.childNodes.length - 1] ;
lastChild attribute is a read-only attribute.

7 , nextSibling attribute:
Returns the next sibling node of the target node.
If there is no node behind the target node that belongs to the same parent node, nextSibling will return null;
nextSibling property is a read-only property.

8 , previousSibling attribute:
Returns the previous sibling node of the target node.
If there is no node in front of the target node that belongs to the same parent node, previousSibling will return null;
the previousSibling property is a read-only property.

9 , parentNode attribute:
Note: The node returned by the parentNode attribute is always an element node, because only element nodes may have child nodes.
Of course there is an exception:
document node, which has no parent node. So the parentNode property of the document node will return null;
parentNode property is a read-only property.

Okay, that’s it for the common attributes and methods of DOM. Understand the use of these methods.
I believe that everyone’s DOM programming technology will be greatly improved.


If you still don’t understand, you can search for information on google.
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Java vs JavaScript: A Detailed Comparison for DevelopersJava vs JavaScript: A Detailed Comparison for DevelopersMay 16, 2025 am 12:01 AM

JavaandJavaScriptaredistinctlanguages:Javaisusedforenterpriseandmobileapps,whileJavaScriptisforinteractivewebpages.1)Javaiscompiled,staticallytyped,andrunsonJVM.2)JavaScriptisinterpreted,dynamicallytyped,andrunsinbrowsersorNode.js.3)JavausesOOPwithcl

Javascript Data Types : Is there any difference between Browser and NodeJs?Javascript Data Types : Is there any difference between Browser and NodeJs?May 14, 2025 am 12:15 AM

JavaScript core data types are consistent in browsers and Node.js, but are handled differently from the extra types. 1) The global object is window in the browser and global in Node.js. 2) Node.js' unique Buffer object, used to process binary data. 3) There are also differences in performance and time processing, and the code needs to be adjusted according to the environment.

JavaScript Comments: A Guide to Using // and /* */JavaScript Comments: A Guide to Using // and /* */May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript: A Comparative Analysis for DevelopersPython vs. JavaScript: A Comparative Analysis for DevelopersMay 09, 2025 am 12:22 AM

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.

Python vs. JavaScript: Choosing the Right Tool for the JobPython vs. JavaScript: Choosing the Right Tool for the JobMay 08, 2025 am 12:10 AM

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: Understanding the Strengths of EachPython and JavaScript: Understanding the Strengths of EachMay 06, 2025 am 12:15 AM

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.

JavaScript's Core: Is It Built on C or C  ?JavaScript's Core: Is It Built on C or C ?May 05, 2025 am 12:07 AM

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

JavaScript Applications: From Front-End to Back-EndJavaScript Applications: From Front-End to Back-EndMay 04, 2025 am 12:12 AM

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.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!