The usage of AppendChild and insertBefore in js is explained in detail

  • 2020-03-30 00:55:53
  • OfStack

The appendChild definition
The appendChild (newChild: Node) : the 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+
Adding a node to an array of children of the specified node is a mouthful to say, simply adding an element to the specified node

The appendChild usage
Target. The appendChild (newChild)

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

The appendChild example
Var newElement = document. The document. The createElement method (" label ");
NewElement. Element. The setAttribute (' value ', 'the Username:');

Var usernameText = document. The document. The getElementById (" username ");
UsernameText. The appendChild (newElement);

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

The insertBefore() method inserts a new child node in front of an existing child node

InsertBefore usage
Target. The insertBefore (newChild, existingChild)

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

ExistingChild is an optional parameter, which is the same as appendChild when null

InsertBefore example
Var oTest = document. GetElementById (" test ");
Var newNode = document. The createElement method (" p ");
Newnode. innerHTML = "This is a test";

OTest. InsertBefore (newNode, oTest.childnodes [0]).  

 
Ok, so I guess there's an insertBefore and an insertAfter, right?
Ok, so let's write an example using Aptana, but Aptana's smart tip tells me that there's no insertAfter method
So define one for yourself :)

InsertAfter definition
The function insertAfter (newEl, targetEl)
{
          Var parentEl = targetEl. ParentNode;

          If (parentEl lastChild = = targetEl)
          {
                    ParentEl. The appendChild (newEl);
          } the else
          {
                    ParentEl. InsertBefore (newEl, targetEl nextSibling);
          }                      
}

 
InsertAfter usage with examples
Var txtName = document. GetElementById (" txtName ");
Var htmlSpan = document. The createElement method (" span ");
HtmlSpan. InnerHTML = "This is a test";
InsertAfter (htmlSpan txtName);

Insert htmlSpan as a sibling of txtName after the txtName node

Conclusion:
AppendChild and insertBefore are used as methods on nodes, and insertAfter is just a custom function

InsertBefore is more flexible than appendChild by inserting a new node into any position in the node array of the target node.

AppendChild and insertBefore are used to insert new nodes on the premise that their siblings must have a common parent


Related articles: