Home  >  Article  >  Web Front-end  >  Detailed analysis of the usage of AppendChild and insertBefore in js_javascript skills

Detailed analysis of the usage of AppendChild and insertBefore in js_javascript skills

WBOY
WBOYOriginal
2016-05-16 17:08:541486browse

appendChild definition
appendChild(newChild: Node): Node
Appends a node to the childNodes array for the node.
Supported: IE 5.0, Mozilla 1.0, Netscape 6.0, Safari 1.0, Opera 7.0
Add a node to the child node array of the specified node. It seems a bit confusing to read. Simply put, it is to add the element to the specified node.

appendChild Usage
target.appendChild(newChild)

newChild is inserted as the child node of target after the last child node

appendChild example
var newElement = document.Document.createElement('label');
newElement.Element.setAttribute('value', 'Username:');

var usernameText = document.Document.getElementById('username');
usernameText.appendChild(newElement);

insertBefore definition
The insertBefore() method inserts a new child node before an existing child node.

The function of insertBefore() method is: insert a new child node before the existing child node

insertBefore usage
target.insertBefore(newChild, existingChild)

newChild is inserted as a child node of target before the existingChild node

existingChild is an optional parameter. When it is null, its effect is the same as appendChild

insertBefore example
var oTest = document.getElementById("test");
var newNode = document.createElement("p");
newNode.innerHTML = "This is a test";

oTest.insertBefore(newNode,oTest.childNodes[0]);


Well, if there is insertBefore, there should also be insertAfter, right?
Okay, let’s write an example using Aptana, but Aptana’s smart prompt told me that there is no insertAfter method
Then define one yourself:)

insertAfter definition
function insertAfter(newEl, targetEl)
{
var parentEl = targetEl.parentNode;

if(parentEl.lastChild == targetEl)
{
parentEl.appendChild (newEl);
}else
{
parentEl.insertBefore(newEl,targetEl.nextSibling);
} >insertAfter usage is the same as Example

var txtName = document.getElementById("txtName");
var htmlSpan = document.createElement("span");
htmlSpan.innerHTML = "This is a test";insertAfter(htmlSpan,txtName);
Insert htmlSpan as a sibling node of txtName after the txtName node


Summary:



1. appendChild and insertBefore are ways to make the right node used, and insertAfter is just a custom function 2. Compared with appendChild, insertBefore is more flexible and can insert new nodes into any position in the target node's child node array.
3. Use appendChild and insertBefore to insert a new node. The premise is that its sibling nodes must have a common parent node

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