天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Javascript入門學(xué)習(xí)第九篇 Javascript DOM 總結(jié)第1/2頁

1,    創(chuàng)建節(jié)點。
createElement():
var a  = document.createElement(“p”);
它創(chuàng)建的是一個元素節(jié)點,所以 nodeType 等于 1 。
a.nodeName 將返回 p ;
注意;createElement()方法創(chuàng)建出來的新元素節(jié)點不會被自動添加到文檔里,既然沒添加到文檔里,說明它還是一個游離的狀態(tài)。所以它也沒有nodeParent屬性。
如果想把它添加到文檔里,可以使用 appendChild()或者insertBefore()方法或者replaceChild()方法。當(dāng)然我們在前面的例子中,自己寫了一個insertAfter()方法;
比如:
var a  = document.createElement(“p”);
document.body.appendChild(a);
注意: appendChild()默認(rèn)是添加到文檔的最后。也就是lastChild子節(jié)點。
如果想添加到某個地方,可以使用insertBefore()。
如果想在元素插入之前給元素添加屬性。可以這么做:
var a  = document.createElement(“p”);
a.setAttribute(“title”,”my demo”);
document.body.appendChild(a);

createTextNode():
var b = document.createTextNode(“my demo”);
它創(chuàng)建的是一個文本節(jié)點,所以nodeType等于 3 。
b.nodeName 將返回 #text ;
跟createElement()一樣,用createTextNode()創(chuàng)建的節(jié)點也不會自動添加到文檔里。需要使用appendChild()或者insertBefore()方法或者replaceChild()方法。
他經(jīng)常與createElement()配合使用,知道為什么嗎?(一個元素節(jié)點,一個文本節(jié)點。)
var mes = document.createTextNode(“hello world”);
var container = document.createElement(“p”);
container.appendChild(mes);
document.body.appendChild(container);


2,    復(fù)制節(jié)點。
cloneNode(boolean) :
它有一個參數(shù)。
var mes = document.createTextNode("hello world");
var container = document.createElement("p");
container.appendChild(mes);
document.body.appendChild(container);
var newpara = container.cloneNode(true);//true和false的區(qū)別
document.body.appendChild(newpara );
注意:
true的話:是<p>aaaa</p> 克隆。
false: 只克隆 <p></p> ,里面的文本不克隆。
可以自己寫個例子,然后用 firebug 看看。

克隆后的新節(jié)點,和createTextNode()一樣  不會被自動插入到文檔 。需要appendChild();
另外還有一個注意: 如果克隆后,id一樣,不要忘記用 setAttribute(“id” , “ another_id “);
改變新的節(jié)點的ID。

3,    插入節(jié)點。
appendChild() :
給元素追加一個子節(jié)點, 新的節(jié)點 插入到 最后。
var container = document.createElement("p");
var t =  document.createTextNode("cssrain");
container.appendChild(t);
document.body.appendChild(container);
他經(jīng)常跟createElement()和createTextNode(),cloneNode()配合使用。
另外 appendChild()不僅可以用來追加新的元素,也可以你 挪動 文檔中現(xiàn)有的元素。
看下面的例子:
<p id="msg">msg</p>
<p id="content">content</p>
<p id="aaa">aaaaaaaa</p>
<script>
var mes = document.getElementById("msg");
var container = document.getElementById("content");
 container.appendChild(mes);
</script>
//發(fā)現(xiàn)msg放到 content 后面去了 。
Js內(nèi)部處理方式:
先把ID為msg的從文檔中刪除,然后再插入到content 后,作為content的最后一個節(jié)點。
結(jié)果為:
<p id="content">
content
<p id="msg">msg</p>
</p>
<p id="aaa">aaaaaaaa</p>

insertBefore()  :
顧名思義,就是把一個新的節(jié)點插入到目標(biāo)節(jié)點的前面。
Element.insertBefore( newNode  ,  targerNode );

第二個參數(shù)是可選,如果第二個參數(shù)不寫,將默認(rèn)添加到文檔的最后,相當(dāng)于appendChild();
我們看看insertBefore()怎么使用:
<div id="cssrian">
<p id="content">1111</p>
<div id="msg">msg<div>test</div></div>
<p id="content">222</p>
<p id="aaa">aaaaaaaa</p>
</div>
<script>
var msg = document.getElementById("msg");
var aaa = document.getElementById("aaa");
var test = document.getElementById("cssrian");
test.insertBefore( msg , aaa );
</script>
// 我們發(fā)現(xiàn)ID為msg的 插入到了  aaa的前面。
Js內(nèi)部處理方式跟 appendChild()相似。


4,    刪除節(jié)點。
removeChild()   :
<body>
 <div id="cssrain">
 <div id="a">a </div>
 <div id="b">b </div>
 <div id="c">c </div>
 </div>
 </body>
<script>
var msg = document.getElementById("cssrain");
var b = document.getElementById("b");
 msg.removeChild(b);
</script>
如果不知道要刪除的節(jié)點的父節(jié)點是什么?可以使用parentNode屬性。
比如:
<body>
 <div id="cssrain">
 <div id="a">a </div>
 <div id="b">b </div>
 <div id="c">c </div>
 </div>
 </body>
<script>
var b = document.getElementById("b");
var c = b.parentNode;
c.removeChild(b);
</script>

注意: 你如果想把某個節(jié)點從一處移動到另一個地方,不必使用removeChild()。
可以使用前面的 appendChild()和insertBefore(),他們都會自動先刪除節(jié)點,然后移動到你指定的地方。、


5,    替換節(jié)點。
Element.repalceChild( newNode , oldNode );
OldNode必須是Element的一個子節(jié)點。
<body>
 <div id="cssrain">
 <div id="a">a </div>
 <div id="b">b </div>
 <div id="c">c </div>
 </div>
 </body>
<script>
var cssrain = document.getElementById("cssrain");
var msg =  document.getElementById("b");
var para =  document.createElement("p");
cssrain.replaceChild( para , msg  );
</script>

JavaScript技術(shù)Javascript入門學(xué)習(xí)第九篇 Javascript DOM 總結(jié)第1/2頁,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人毛片手机版免费看 | 久久草这在线观看免费 | 国产香蕉视频在线播放 | 被爽到叫呻呤视频免费视频 | 天美传媒在线观看完整高清 | 无人影院在线播放视频 | 第一精品福利导福航 | 亚洲欧美免费无码专区 | 日韩AV成人无码久久精品老人 | 国产精品成人影院 | av先锋影音资源男人站 | 97视频免费在线 | 久久亚洲人成国产精品 | 色jie戒电影 | 小伙无套内射老女人 | 精品国产乱码久久久久乱码 | 双性将军粗壮H灌满怀孕 | 夜夜国产亚洲视频香蕉 | 99久久综合国产精品免费 | 久久亚洲精品成人综合 | 天天看片视频免费观看 | 调教玩弄奶头乳夹开乳震动器 | 美女黄图大全 | 国产高清亚洲日韩字幕一区 | 在线观看亚洲免费视频 | 99精品在线观看 | 亚洲日本va中文字幕久久 | 小短文H啪纯肉公交车 | 91久久精品一区二区三区 | 538在线视频一区二区视视频 | 亚洲视频国产在线精品 | 亚欧免费观看在线观看更新 | 久久久乱码精品亚洲日韩 | 亚洲色综合中文字幕在线 | 色哟哟网站入口在线观看视频 | 欧美一级成人影院免费的 | 青草伊人久久 | 动漫美女性侵 | 狠狠色丁香婷婷久久综合五月 | 精品夜夜澡人妻无码AV蜜桃 | 亚洲男人片片在线观看 |