自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JS的DOM中添加、移動、復(fù)制、刪除、替換、查找節(jié)點的方法?

開發(fā) 前端
由于DOM對象屬于引用類型,所以在操作AppendChild和InsertBefore方法時, 控制的節(jié)點如果是文檔中存在的節(jié)點,那么將把這個節(jié)點移到目標(biāo)處。

創(chuàng)建元素

document.createElement('tagName');

添加元素

parent.appendChild(childNode);

注:父元素調(diào)用該方法。

移動元素

由于DOM對象屬于引用類型,所以在操作appendChild和insertBefore方法時, 控制的節(jié)點如果是文檔中存在的節(jié)點,那么將把這個節(jié)點移到目標(biāo)處。

復(fù)制節(jié)點

oLi.cloneNode(true);

注:參數(shù)true表示深度克?。ㄉ羁截悾琭alse 表示淺度克?。\拷貝),深拷貝也就是復(fù)制節(jié)點及整個節(jié)點數(shù);淺拷貝復(fù)制節(jié)點本身。復(fù)制后返回的節(jié)點副本屬于文檔所有,但并沒有為它指定父節(jié)點。因此,整個節(jié)點副本就成為一個‘孤兒’:

<ul id='oUl'>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<script>
  var myList = document.getElementById("oUl"); 
  var deepList = myList.cloneNode(true);
  console.log(deepList.childNodes.length);//3 (IE<9) 或7 (其它瀏覽器)
  var shallowList = myList.cloneNode(false); 
  console.log(shallowList.childNodes.length);//0
</script>

cloneNode()方法不會復(fù)制添加DOM節(jié)點的JS屬性,例如事件處理程序等。這個方法只復(fù)制特性,其他一切都不會復(fù)制。

刪除節(jié)點

parentNode.removeChild(childNode);

注:父元素調(diào)用該方法,返回值為被刪除的節(jié)點。

替換元素

parentNode.replaceChild(newNode,oldNode);

注:oldNode節(jié)點必須是parentNode的子節(jié)點。

插入元素

parentNode.insertBefore(newEle, oldNode);

注:父元素調(diào)用該方法。

查找節(jié)點的總結(jié)

  • childNodes—返回節(jié)點到子節(jié)點的節(jié)點列表firstChild— 返 回 節(jié) 點 的 首 個 子 節(jié) 點 ; lastChild—返回節(jié)點的最后一個子節(jié)點; nextSibling—返回節(jié)點之后緊跟的同級節(jié)點; nodeName—返回節(jié)點的名字,根據(jù)其類型; nodeType—返回節(jié)點的類型。
  • nodeValue—設(shè)置或返回節(jié)點的值,根據(jù)其類型; ownerDocument—返回節(jié)點的根元素(document對象); parentNode—返回節(jié)點的父節(jié)點。
  • previousSibling—返回節(jié)點之前緊跟的同級節(jié)點。
  • text—返回節(jié)點及其后代的文本(IE獨有); xml—返回節(jié)點及其后代的XML(IE獨有); 節(jié)點對象的方法。
  • appendChild()—向節(jié)點的子節(jié)點列表的結(jié)尾添加新的子節(jié)點; cloneNode()—復(fù)制節(jié)點。
  • hasChildNodes()—判斷當(dāng)前節(jié)點是否擁有子節(jié)點; insertBefore()—在指定的子節(jié)點前插入新的子節(jié)點; normalize()—合并相鄰的Text節(jié)點并刪除空的Text節(jié)點; removeChild()—刪除(并返回)當(dāng)前節(jié)點的指定子節(jié)點; replaceChild()—用新節(jié)點替換一個子節(jié)點。

IE6獨有方法

  • selectNodes()—用一個XPath表達式查詢選擇節(jié)點; selectSingleNode()—查找和XPath查詢匹配的一個節(jié)點。
  • transformNode()—使用XSLT把一個節(jié)點轉(zhuǎn)換為一個字符串。transformNodeToObject()—使用XSLT把一 個節(jié)點轉(zhuǎn)換成為一個文檔。

經(jīng)典的問題解析。

創(chuàng)建新節(jié)點

createDocumentFragment() //創(chuàng)建一個DOM片段createElement() //創(chuàng)建一個具體的元素createTextNode() //創(chuàng)建一個文本節(jié)點。

添加、移除、替換、插入

appendChild() 
removeChild() 
replaceChild()
insertBefore() //在已有的子節(jié)點前插入一個新的子節(jié)點查找
getElementsByTagName() //通過標(biāo)簽名稱
getElementsByName() //通過元素的Name屬性的值(IE容錯能力較強,會得到一個數(shù)組,其中包括id等于name值的)
getElementById() //通過元素Id,唯一性
責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2022-03-22 07:51:45

JS父節(jié)點

2021-01-25 10:05:27

ReactDOM前端

2010-09-08 15:13:09

Node節(jié)點Node屬性

2021-08-16 09:35:34

Collections Java開發(fā)

2009-03-10 15:05:16

JDBC泛型數(shù)據(jù)庫

2010-10-08 11:52:29

2009-12-25 14:57:10

Linux Vi刪除

2011-05-24 10:04:39

Oracle重復(fù)記錄

2023-05-22 10:40:22

WeakMapsMaps

2009-08-17 08:04:00

C#高級編程

2022-03-01 07:52:38

鏈表指針節(jié)點

2021-09-03 08:58:00

二叉搜索樹節(jié)點

2020-11-13 09:14:23

Linux重復(fù)文件命令行

2010-09-02 16:40:15

SQL刪除

2010-09-28 09:49:49

DOM模型

2017-01-16 16:20:31

Windows 10右鍵菜單操作方法

2010-09-28 13:16:43

JavaScriptDOM

2010-10-19 17:28:08

SQL SERVER外

2010-09-01 16:47:18

SQL刪除

2021-03-08 09:32:04

Python文件命令
點贊
收藏

51CTO技術(shù)棧公眾號