DOM——操作節(jié)點(diǎn)

appendChild()

用于向 childNodes 列表的末尾添加一個(gè)節(jié)點(diǎn),添加節(jié)點(diǎn)后,childNodes 新增節(jié)點(diǎn),父節(jié)點(diǎn)及以前的最后一個(gè)子節(jié)點(diǎn)的關(guān)系指針都會(huì)得到相應(yīng)的更新。更新完成后,appendChild() 返回新增的節(jié)點(diǎn)。

  • 小例子
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <ul id = "list"> <li>Coffee</li><li>Tea</li></ul>
  <button onclick = "test()">點(diǎn)擊</button>
</body>
<script>
   function test(){
     //創(chuàng)建 li 節(jié)點(diǎn)
      var node = document.createElement("li");
     //創(chuàng)建文本節(jié)點(diǎn)
      var textnode = document.createTextNode("Water");
     //文本節(jié)點(diǎn)追加到 li 節(jié)點(diǎn)
      node.appendChild(textnode);
     // li 節(jié)點(diǎn)添加到列表中
      document.getElementById("list").appendChild(node); 
} 
</script>
</html>
  • 效果展示
點(diǎn)擊按鈕之前
點(diǎn)擊按鈕之后

insertBefore()

如果需要把節(jié)點(diǎn)放在 childNodes 列表中某個(gè)特定的位置上,而不是放在末尾上,那么可以使用 insertBefore() 方法。這個(gè)方法接受兩個(gè)參數(shù):要插入的節(jié)點(diǎn)和作為參照的節(jié)點(diǎn)。插入節(jié)點(diǎn)后會(huì)變成參照節(jié)點(diǎn)的前一個(gè)同胞節(jié)點(diǎn)(previouslibing),同時(shí)被方法返回。如果參照節(jié)點(diǎn)是 null ,則 insertBefore() 與 appendChild() 執(zhí)行相同的操作。

  • 小例子
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<ul id="myList"><li>Coffee</li><li>Tea</li></ul>
<button onclick="myFunction()">試一下</button>
<script>
function myFunction()
{
var newItem=document.createElement("LI")
var textnode=document.createTextNode("Water")
newItem.appendChild(textnode)

var list=document.getElementById("myList")
list.insertBefore(newItem,list.childNodes[0]);
}
</script>
</body>
</html>

效果展示

點(diǎn)擊按鈕之前
點(diǎn)擊按鈕之后

replaceChild

  • replaceChild() 方法接受兩個(gè)參數(shù):要插入的節(jié)點(diǎn)和要替換的節(jié)點(diǎn)。要替換的節(jié)點(diǎn)將由這個(gè)方法返回并從文檔樹中被移除,同時(shí)由要插入的節(jié)點(diǎn)占據(jù)它的位置。
  • 在使用 replaceChild() 插入節(jié)點(diǎn)的時(shí)候,該節(jié)點(diǎn)的所有關(guān)系指針都會(huì)從被它替換的節(jié)點(diǎn)復(fù)制過來。從技術(shù)上講,被替換的節(jié)點(diǎn)仍然存在于文檔中,但是文檔中已經(jīng)沒有了自己的位置。
  • 小例子
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <ul id = "list"><li>a</li><li>b</li><li>c</li>
  </ul>
  <button onclick = "test()">點(diǎn)擊</button>
</body>
 <script>
   function test(){
     var newText = document.createTextNode("e");
     var item = document.getElementById("list").childNodes[1];
     item.replaceChild(newText,item.childNodes[0]);
   }
   </script>
</html>
  • 效果展示
點(diǎn)擊按鈕之前
點(diǎn)擊按鈕之后

removeChild()

這個(gè)方法接受一個(gè)參數(shù),即要移除的節(jié)點(diǎn),被移除的節(jié)點(diǎn)將會(huì)成為方法的返回值。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <ul id="myList"><li>a</li><li>b</li> <li>c</li></ul>
  <button onclick = "test()">點(diǎn)擊</button>
<script>
  function test(){
    var list=document.getElementById("myList");
    list.removeChild(list.childNodes[1]);
  }
</script>
</body>
</html>
  • 效果展示
點(diǎn)擊按鈕之前
點(diǎn)擊按鈕之后
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評(píng)論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,520評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,362評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,541評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,896評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,062評(píng)論 0 290
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,608評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,356評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,555評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,769評(píng)論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評(píng)論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,289評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,516評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容

  • 1.創(chuàng)建節(jié)點(diǎn) createElement()var node = document.createElement(“...
    奶油小生Cc閱讀 758評(píng)論 0 2
  • 節(jié)點(diǎn)操作 每一個(gè)節(jié)點(diǎn)都有一個(gè)childNodes屬性 其中保存著一個(gè)nodeList對(duì)象(類數(shù)組)可以動(dòng)態(tài)查詢DO...
    codeSirCao閱讀 280評(píng)論 0 1
  • 心中一直有個(gè)疑問:勸架算不算一門行當(dāng)?如果算的話,這還真是一門技術(shù)活。勸的好,可以化干弋為玉帛,最終贏得個(gè)皆大歡喜...
    H細(xì)泉閱讀 691評(píng)論 2 8
  • 《決策助手》第一期: 老板最關(guān)心什么? 我們從眾多提問中篩選出典型問題。 根據(jù)多年的咨詢經(jīng)歷和大量訪談得出這個(gè)結(jié)論...
    派拉蒙思維俱樂部閱讀 770評(píng)論 0 0
  • 紅山谷 八億年前的熔巖 皺疊起一片片 寫滿古老印記的年輪 分不清楚蝕骨的容顏 抬手就可觸碰到藍(lán)天 陽光下的月兒彎彎...
    黃磊的簡書閱讀 1,304評(píng)論 5 14