DOM學習筆記(二)

使用DOM

DOM中的每個元素都有一組屬性和方法瘸恼,它們提供有關它們在DOM中的關系的信息:

element.childNodes?返回一個元素的子節(jié)點的數(shù)組。

element.firstChild?返回元素的第一個子節(jié)點胚股。

element.lastChild?返回元素的最后一個子節(jié)點。

element.hasChildNodes?如果元素有任何子節(jié)點,則返回 true醉旦,否則為 false 忘巧。

element.nextSibling?返回相同樹級別的下一個節(jié)點恒界。

element.previousSibling?返回在同一樹級別的上一個節(jié)點。

element.parentNode?返回元素的父節(jié)點袋坑。

例如仗处,我們可以選擇元素的所有子節(jié)點并更改其內容:

首先先寫出頁面原有的東西,如下

<div id ="demo">

????<p>一些文本</p>

????<p>另一些文本 </p>

</div>

隨后用DOM來更改頁面內容枣宫,如下:

var a = document.getElementById("demo");

var arr = a.childNodes;

????for(var x=0;x<arr.length;x++) {

????????arr[x].innerHTML = "新的文本";

????}

現(xiàn)在你可以在頁面上看見原先的文字都被替換成立新的文本這四個字了

改變屬性

選擇要使用的元素后婆誓,您可以更改其屬性。

正如我們在以前的課程中看到的也颤,我們可以使用?innerHTML?屬性更改元素的文本內容洋幻。

同樣,我們可以改變元素的屬性翅娶。

例如文留,我們可以更改圖像的?src?屬性:

<img id="myimg" src="這里是一個SRC" alt="..." />

<script>

????var el = document.getElementById("myimg"); // 通過id="myimg"獲取元素

????el.src = "這里是另一個SRC";

</script>

實際上,可以使用JavaScript更改元素的所有屬性竭沫。

更改樣式

注:這個類型本小白經常用到的終于學到了

HTML元素的樣式也可以使用JavaScript進行更改燥翅。

可以使用元素的?style?對象來訪問所有樣式屬性。

例如:

<div id="demo" style="width:200px">一些文本</div>

<script>

????var x = document.getElementById("demo");

????????x.style.color = "6600FF";? ? ?

????????x.style.width = "100px";

</script>

這部分改變了文本的顏色和寬度蜕提。

提示: 所有CSS屬性都可以使用JavaScript進行設置和修改森书。請記住,您不能在屬性名稱中使用破折號( - ):這些替換為駝峰寫法,其中復合詞以大寫字母開頭 比如: background-color屬性應該被寫為?backgroundColor凛膏。

添加和移除元素

使用以下方法創(chuàng)建新節(jié)點:

element.cloneNode()?克隆元素并返回結果節(jié)點杨名。

document.createElement(element)?創(chuàng)建一個新的元素節(jié)點。

document.createTextNode(text)創(chuàng)建一個新的文本節(jié)點猖毫。

例如:

var node = document.createTextNode("一些新的文本");

這將創(chuàng)建一個新的文本節(jié)點台谍,但它將不會出現(xiàn)在文檔中,直到您使用以下方法之一將其附加到現(xiàn)有元素:

element.appendChild(newNode)將一個新的子節(jié)點添加到元素作為最后一個子節(jié)點吁断。

element.insertBefore(node1, node2)在節(jié)點2之前插入node1作為子節(jié)點趁蕊。

例如:

<div id ="demo">一些文本</div>

<script>

????var p = document.createElement("p");???????? //創(chuàng)建一個新的段落

????var node = document.createTextNode("一些新的文本");

????p.appendChild(node);???????? //添加文本到段落

????var div = document.getElementById("demo");

????div.appendChild(p); ???????????? //將段落添加到div中

</script>

要刪除HTML元素,您必須選擇元素的父項并使用removeChild(node)方法胯府。

例如:? ?要從從頁面中刪除 id ="p1" 的段落介衔。

<div id="demo">

????????<p id="p1">這是一個段落.</p>

????????<p id="p2">這是另外一個段落.</p>

</div>

<script>

????????var parent = document.getElementById("demo");

????????var child = document.getElementById("p1");

????????parent.removeChild(child);

</script>

提示: 實現(xiàn)相同結果的另一種方法是使用?parentNode?屬性來獲取要刪除的元素的父項:

var child = document.getElementById("p1");

child.parentNode.removeChild(child);

替換元素

要替換HTML元素,使用?element.replaceChild(newNode,oldNode)方法骂因。

例如:? ? ? ? 下面的代碼創(chuàng)建一個替換現(xiàn)有 p1 段落的新段落元素炎咖。

<div id="demo">

????????<p id="p1">這是一個段落</p>

????????<p id="p2">這是另一個段落</p> </div>

<script>

????????var p = document.createElement("p");

????????var node = document.createTextNode("這是新的文本");

????????p.appendChild(node);

????????var parent = document.getElementById("demo");

????????var child = document.getElementById("p1");

????????parent.replaceChild(p, child);

</script>

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市寒波,隨后出現(xiàn)的幾起案子乘盼,更是在濱河造成了極大的恐慌,老刑警劉巖俄烁,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绸栅,死亡現(xiàn)場離奇詭異,居然都是意外死亡页屠,警方通過查閱死者的電腦和手機粹胯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門筝蚕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挺智,“玉大人捅暴,你說我怎么就攤上這事搔驼。” “怎么了违崇?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵土辩,是天一觀的道長遭赂。 經常有香客問我潜索,道長臭增,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任竹习,我火速辦了婚禮誊抛,結果婚禮上,老公的妹妹穿的比我還像新娘整陌。我一直安慰自己芍锚,他們只是感情好昔园,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著并炮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪甥郑。 梳的紋絲不亂的頭發(fā)上逃魄,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音澜搅,去河邊找鬼伍俘。 笑死,一個胖子當著我的面吹牛勉躺,可吹牛的內容都是我干的癌瘾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼饵溅,長吁一口氣:“原來是場噩夢啊……” “哼妨退!你這毒婦竟也來了?” 一聲冷哼從身側響起蜕企,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤咬荷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后轻掩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡唇牧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年罕扎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丐重。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡腔召,死狀恐怖,靈堂內的尸體忽然破棺而出弥臼,到底是詐尸還是另有隱情宴咧,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布径缅,位于F島的核電站掺栅,受9級特大地震影響,放射性物質發(fā)生泄漏纳猪。R本人自食惡果不足惜氧卧,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氏堤。 院中可真熱鬧沙绝,春花似錦搏明、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至粗悯,卻和暖如春虚循,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背样傍。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工横缔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衫哥。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓茎刚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親撤逢。 傳聞我的和親對象是個殘疾皇子膛锭,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353