国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js中AppendChild與insertBefore的用法詳細解析

2019-11-20 21:27:34
字體:
來源:轉載
供稿:網友

appendChild定義
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+
添加一個節點到指定的節點的子節點數組中,讀起來好象有點拗口,簡單地說就是將元素添加到指定的節點中

appendChild用法
target.appendChild(newChild)

newChild作為target的子節點插入最后的一子節點之后

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

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

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

insertBefore() 方法的作用是:在現有的子節點前插入一個新的子節點

insertBefore用法
target.insertBefore(newChild,existingChild)

newChild作為target的子節點插入到existingChild節點之前

existingChild為可選項參數,當為null時其效果與appendChild一樣

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

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

 
好了那么有insertBefore的應該也有insertAfter吧?
好那我們來用Aptana編寫一個例子吧,但Aptana的智能提示告訴我其實沒有insertAfter這個方法
那么就自己定義一個羅:)

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

      if(parentEl.lastChild == targetEl)
      {
           parentEl.appendChild(newEl);
      }else
      {
           parentEl.insertBefore(newEl,targetEl.nextSibling);
      }           
}

 
insertAfter用法與例子
var txtName = document.getElementById("txtName");
var htmlSpan = document.createElement("span");
htmlSpan.innerHTML = "This is a test";
insertAfter(htmlSpan,txtName);

將htmlSpan 作為txtName 的兄弟節點插入到txtName 節點之后

總結:
1、appendChild和insertBefore是做對節點的方法來使用的,而insertAfter只是自定義的一個函數

2、insertBefore相對于appendChild來說,比較靈活可以將新的節點插入到目標節點子節點數組中的任一位置。

3、使用appendChild和insertBefore來插入新的節點前提是,其兄弟節點必須有共同的父節點

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西峡县| 屏东市| 镇巴县| 丹江口市| 田阳县| 饶阳县| 昭通市| 贺州市| 宜良县| 宽城| 吉安县| 正阳县| 涞水县| 呈贡县| 三江| 中阳县| 波密县| 罗源县| 鄂尔多斯市| 乌恰县| 金坛市| 安义县| 孟连| 临西县| 临夏县| 金塔县| 遵化市| 泸水县| 灵山县| 扎鲁特旗| 吴江市| 广丰县| 耿马| 林口县| 西城区| 汝阳县| 临漳县| 普兰店市| 松原市| 廉江市| 漳平市|