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

1.訪問節(jié)點(diǎn)

document.getElementById(id);
返回對擁有指定id的第一個(gè)對象進(jìn)行訪問

document.getElementsByName(name);
返回帶有指定名稱的節(jié)點(diǎn)集合
注意:Elements

document.getElementsByTagName(tagname);
返回帶有指定標(biāo)簽名的對象集合
注意:Elements

document.getElementsByClassName(classname);
返回帶有指定class名稱的對象集合
注意:Elements

2.生成節(jié)點(diǎn)

document.createElement(eName);
創(chuàng)建一個(gè)節(jié)點(diǎn)

document.createAttribute(attrName);
對某個(gè)節(jié)點(diǎn)創(chuàng)建屬性

document.createTextNode(text);
創(chuàng)建文本節(jié)點(diǎn)

3.添加節(jié)點(diǎn)

document.insertBefore(newNode,referenceChild);
在某個(gè)節(jié)點(diǎn)前插入節(jié)點(diǎn)

parentNode.appendChild(newNode);
給某個(gè)節(jié)點(diǎn)添加子節(jié)點(diǎn)

4.復(fù)制節(jié)點(diǎn)

cloneNode(true | false);
復(fù)制某個(gè)節(jié)點(diǎn)
參數(shù):是否復(fù)制原節(jié)點(diǎn)的所有屬性

5.刪除節(jié)點(diǎn)

parentNode.removeChild(node)
刪除某個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)
node是要?jiǎng)h除的節(jié)點(diǎn)
注意:IE會忽略節(jié)點(diǎn)間生成的空白文本節(jié)點(diǎn)(例如挽牢,換行符號),而Mozilla不會這樣做奏赘。在刪除指定節(jié)點(diǎn)的時(shí)候不會出錯(cuò),但是如果要?jiǎng)h除最后一個(gè)子結(jié)點(diǎn)或者是第一個(gè)子結(jié)點(diǎn)的時(shí)候,就會出現(xiàn)問題埃脏。這時(shí)候彩掐,就需要用一個(gè)函數(shù)來判斷首個(gè)子結(jié)點(diǎn)的節(jié)點(diǎn)類型。
元素節(jié)點(diǎn)的節(jié)點(diǎn)類型是 1朴下,因此如果首個(gè)子節(jié)點(diǎn)不是一個(gè)元素節(jié)點(diǎn)殴胧,它就會移至下一個(gè)節(jié)點(diǎn),然后繼續(xù)檢查此節(jié)點(diǎn)是否為元素節(jié)點(diǎn)灸姊。整個(gè)過程會一直持續(xù)到首個(gè)元素子節(jié)點(diǎn)被找到為止扼雏。通過這個(gè)方法诗充,我們就可以在 Internet Explorer 和 Mozilla 得到正確的方法。

6.修改文本節(jié)點(diǎn)

appendData(data);
將data加到文本節(jié)點(diǎn)后面

deleteData(start,length);
將從start處刪除length個(gè)字符

insertData(start,data)
在start處插入字符,start的開始值是0;

replaceData(start,length,data)
在start處用data替換length個(gè)字符

splitData(offset)
在offset處分割文本節(jié)點(diǎn)

substringData(start,length)
從start處提取length個(gè)字符

7.屬性操作

getAttribute(name)
通過屬性名稱獲取某個(gè)節(jié)點(diǎn)屬性的值

setAttribute(name,value);
修改某個(gè)節(jié)點(diǎn)屬性的值

removeAttribute(name)
刪除某個(gè)屬性

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title>HTML DOM</title>
   <script type=text/javascript>
   function   Load_message()
   {
    var oimg=document.getElementById("a");
       alert(oimg.getAttribute("border"));
    oimg.setAttribute("alt","DOM Test");
   }
   </script>
</head>
<body onload="Load_message();">
   <img border="0" width="100" height="150" id="a"/>
</body>
</html>

8.查找節(jié)點(diǎn)

parentObj.firstChild
如果節(jié)點(diǎn)為已知節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)就可以使用這個(gè)方法。此方法可以遞歸進(jìn)行使用
parentObj.firstChild.firstChild.....

parentObj.lastChild
獲得一個(gè)節(jié)點(diǎn)的最后一個(gè)節(jié)點(diǎn)诵冒,與firstChild一樣也可以進(jìn)行遞歸使用
parentObj.lastChild.lastChild.....

parentObj.childNodes
獲得節(jié)點(diǎn)的所有子節(jié)點(diǎn),然后通過循環(huán)和索引找到目標(biāo)節(jié)點(diǎn)

9.獲取相鄰的節(jié)點(diǎn)

neborNode.prev
iousSibling :獲取已知節(jié)點(diǎn)的相鄰的上一個(gè)節(jié)點(diǎn)
nerbourNode.nextSlbling: 獲取已知節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)

10.獲取父節(jié)點(diǎn)

childNode.parentNode:得到已知節(jié)點(diǎn)的父節(jié)點(diǎn)

11.替換節(jié)點(diǎn) 方法replace(new,old)

<html>
<head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>HTML DOM</title>
  <script type=text/javascript>
      function replaceMessage()
      {
       var oNewp=document.createElement("p");
       var oText=document.createTextNode("World Hello");
       oNewp.appendChild(oText);
       var oOldp=document.body.getElementsByTagName("p")[0];
       oOldp.parentNode.replaceChild(oNewp,oOldp);
      }
      </script>
</head>
<body onload="replaceMessage();">
      <p>hello world!</p>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末铁蹈,一起剝皮案震驚了整個(gè)濱河市握牧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌矫俺,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異包斑,居然都是意外死亡神帅,警方通過查閱死者的電腦和手機(jī)找御,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門讨永,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓜浸,“玉大人,你說我怎么就攤上這事量窘。” “怎么了冬殃?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵奕谭,是天一觀的道長官册。 經(jīng)常有香客問我膝宁,道長合蔽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任捅彻,我火速辦了婚禮步淹,結(jié)果婚禮上键闺,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好榴都,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布阳惹。 她就那樣靜靜地躺著莹汤,像睡著了一般抹竹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上袄琳,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天刻蟹,我揣著相機(jī)與錄音片效,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播澳厢,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼角雷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吗坚,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤炊汹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后霸褒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抖誉,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡孽文,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了斑鸦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出问拘,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布障簿,位于F島的核電站霞篡,受9級特大地震影響顶滩,放射性物質(zhì)發(fā)生泄漏赁豆。R本人自食惡果不足惜粉洼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸朋其。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莺戒。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背用踩。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工惠奸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嵌言,地道東北人苛白。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • DOM DOM內(nèi)容主要分為四部分: 什么是DOM和節(jié)點(diǎn); 獲取節(jié)點(diǎn); 節(jié)點(diǎn)操作(3種); 屬性操作(3種)。 什么...
    magic_pill閱讀 771評論 0 1
  • js節(jié)點(diǎn)操作 1.訪問節(jié)點(diǎn) document.getElementById(id); 返回對擁有指定id的第一個(gè)對...
    gtt21閱讀 145評論 0 0
  • 調(diào)用通用的API來設(shè)置桌面壁紙丈氓,可以實(shí)現(xiàn)很多有趣的功能万俗。在Windows通用平臺中闰歪,可以使Windows.Syst...
    mtobeiyf閱讀 2,120評論 2 6
  • 在看完《普羅旺斯的一年》之后置媳,看了一本彼得.梅爾的作品《偷飲瓶中的星空》拇囊,一部很輕松愉悅的小說寥袭,以極其輕松杰扫、甚至有...
    安星閱讀 1,694評論 0 1