精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
DOM節(jié)點(diǎn)信息、DOM屬性、3大節(jié)點(diǎn)、替換節(jié)點(diǎn)、查找設(shè)置屬性節(jié)點(diǎn)、創(chuàng)建刪除插入節(jié)點(diǎn)、innerHTML屬性、顯示彈出窗口

DOM節(jié)點(diǎn)信息、DOM屬性、3大節(jié)點(diǎn)、替換節(jié)點(diǎn)、查找設(shè)置屬性節(jié)點(diǎn)、創(chuàng)建刪除插入節(jié)點(diǎn)、innerHTML屬性、顯示彈出窗口

www.MyException.Cn   發(fā)布于:2013-03-21 10:08:17   瀏覽:35次
DOM節(jié)點(diǎn)信息、DOM屬性、三大節(jié)點(diǎn)、替換節(jié)點(diǎn)、查找設(shè)置屬性節(jié)點(diǎn)、創(chuàng)建刪除插入節(jié)點(diǎn)、innerHTML屬性、顯示彈出窗口

DOM節(jié)點(diǎn)信息DOM屬性、三大節(jié)點(diǎn)、替換節(jié)點(diǎn)、查找設(shè)置屬性節(jié)點(diǎn)、創(chuàng)建刪除插入節(jié)點(diǎn)、innerHTML屬性、顯示彈出窗口

DOM節(jié)點(diǎn)信息

每個(gè)節(jié)點(diǎn)都擁有包含著關(guān)于節(jié)點(diǎn)某些信息的屬性。這些屬性是:

nodeName(節(jié)點(diǎn)名稱) 

nodeValue(節(jié)點(diǎn)值) 

nodeType(節(jié)點(diǎn)類型)

DOM屬性---nodeName

nodeName 屬性含有某個(gè)節(jié)點(diǎn)的名稱。

var name = node.nodeName;

元素節(jié)點(diǎn)的 nodeName 是標(biāo)簽名稱 

屬性節(jié)點(diǎn)的 nodeName 是屬性名稱 

文本節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #text 

文檔節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #document 

注釋:nodeName 所包含的 html 元素的標(biāo)簽名稱永遠(yuǎn)是大寫的

DOM 屬性 -- nodeValue

nodeValue:返回給定節(jié)點(diǎn)的當(dāng)前值(字符串)

 如果給定節(jié)點(diǎn)是一個(gè)屬性節(jié)點(diǎn),返回值是這個(gè)屬性的值。

 如果給定節(jié)點(diǎn)是一個(gè)文本節(jié)點(diǎn),返回值是這個(gè)文本節(jié)點(diǎn)的內(nèi)容。

 如果給定節(jié)點(diǎn)是一個(gè)元素節(jié)點(diǎn),返回值是 null

 nodeValue 是一個(gè) 讀/寫 屬性,但不能對(duì)元素節(jié)點(diǎn)的 nodeValue 屬性設(shè)置值,

    但可以為文本節(jié)點(diǎn)的 nodeValue 屬性設(shè)置一個(gè)值。

   var li = document.getElementById(li);

   if(li.firstChild.nodeType == 3)

      li.firstChild.nodeValue = “國(guó)慶60年”;

DOM 屬性 -- nodeType

nodeType:返回一個(gè)整數(shù),這個(gè)數(shù)值代表著給定節(jié)點(diǎn)的類型。

nodeType 屬性返回的整數(shù)值對(duì)應(yīng)著 12 種節(jié)點(diǎn)類型,常用的有三種:

Node.ELEMENT_NODE    ---1    -- 元素節(jié)點(diǎn)

Node.ATTRIBUTE_NODE  ---2    -- 屬性節(jié)點(diǎn)

Node.TEXT_NODE       ---3    -- 文本節(jié)點(diǎn)

nodeType 是個(gè)只讀屬性

三大節(jié)點(diǎn)--元素節(jié)點(diǎn)

//測(cè)試元素節(jié)點(diǎn),輸出節(jié)點(diǎn)名稱,節(jié)點(diǎn)的類型,節(jié)點(diǎn)的值

  var liElements=document.getElementsByTagName("li");

  for(var i=0;i<liElements.length;i++){

     alert(liElements[i].nodeName);

     alert(liElements[i].nodeType);

     alert(liElements[i].nodeValue);

  }

三大節(jié)點(diǎn)--屬性節(jié)點(diǎn)

//測(cè)試屬性節(jié)點(diǎn),輸出屬性節(jié)點(diǎn)名稱,節(jié)點(diǎn)的類型,節(jié)點(diǎn)的值

  var liElements=document.getElementsByTagName("li");

  for(var i=0;i<liElements.length;i++){

      var attrElement=liElements[i].getAttributeNode("value")

      alert("attrElement.nodeName "+attrElement.nodeName);

      alert("attrElement.nodeType "+attrElement.nodeType);

      alert("attrElement.nodeValue "+liElements[i].getAttribute("value"));

  }

三大節(jié)點(diǎn)--文本節(jié)點(diǎn)

//測(cè)試元素節(jié)點(diǎn),輸出節(jié)點(diǎn)名稱,節(jié)點(diǎn)的類型,節(jié)點(diǎn)的值

  var liElements=document.getElementsByTagName("li");

  for(var i=0;i<liElements.length;i++){

   alert(liElements[i].childNodes[0].nodeName);

   alert(liElements[i].childNodes[0].nodeType);

   alert(liElements[i].childNodes[0].nodeValue);

   liElements[i].childNodes[0].nodeValue="南京";

   alert(liElements[i].childNodes[0].nodeValue);

 

   //另一種讀取方法

   alert(liElements[i].firstChild.nodeName);

   alert(liElements[i].firstChild.nodeType);

   alert(liElements[i].firstChild.nodeValue);

  }

替換節(jié)點(diǎn)

replaceChild()

把一個(gè)給定父元素里的一個(gè)子節(jié)點(diǎn)替換為另外一個(gè)子節(jié)點(diǎn)

var reference = element.replaceChild(newChild,oldChild);

返回值是一個(gè)指向已被替換的那個(gè)子節(jié)點(diǎn)的引用指針。

如果被插入的子節(jié)點(diǎn)還有子節(jié)點(diǎn),則那些子節(jié)點(diǎn)也被插入到目標(biāo)節(jié)點(diǎn)中

替換節(jié)點(diǎn)例子

//  var cityElement=document.getElementById("city");

//  var loveElement=document.getElementById("love");

//  var cityChildElement=document.getElementById("beijing");

//  var loveChildElement=document.getElementById("fankong");

//  var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement);

//  loveElement.appendChild(oldElement);

//  alert(oldElement.getAttribute("id")); 

  var cityElement=document.getElementById("city");

         cityElement.onclick=function(){

         var cityChildElement=document.getElementById("beijing");

         var loveChildElement=document.getElementById("fankong");

         var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement);

         loveElement.appendChild(oldElement);

         alert(oldElement.getAttribute("id"));

  }

查找屬性節(jié)點(diǎn)

getAttribute()   

返回一個(gè)給定元素的一個(gè)給定屬性節(jié)點(diǎn)的值

var attributeValue = element.getAttribute(attributeName);

給定屬性的名字必須以字符串的形式傳遞給該方法。

給定屬性的值將以字符串的形式返回,如果給定屬性不存在,getAttribute() 將返回一個(gè)空字符串.

通過(guò)屬性獲取屬性節(jié)點(diǎn)

   getAttributeNode(屬性的名稱)--Node

<li name="beijing" id="bj">北京</li> 

    

   //通過(guò)屬性名獲取屬性的值

     var  bjElement=document.getElementById("bj");

     var attributeValue=eduElement.getAttribute("name");

     alert("attributeValue    "+attributeValue);

        

   //通過(guò)屬性名獲取屬性的節(jié)點(diǎn)

   var  bjNode=eduElement.getAttributeNode("name");

       alert(eduNode.nodeValue);

       alert(eduNode.nodeType);

       alert(eduNode.nodeName);

設(shè)置屬性節(jié)點(diǎn)

setAttribute()

將給定元素節(jié)點(diǎn)添加一個(gè)新的屬性值或改變它的現(xiàn)有屬性的值。

   element.setAttribute(attributeName,attributeValue);

屬性的名字和值必須以字符串的形式傳遞給此方法

如果這個(gè)屬性已經(jīng)存在,它的值將被刷新;

如果不存在,setAttribute()方法將先創(chuàng)建它再為其賦值。

<li  id="bj" >北京</li> 

   //獲取元素的引用

   var bjElement=document.getElementById("bj");

   //設(shè)置屬性值

   bjElement.setAttribute("name","beijing");

   //獲取設(shè)置的屬性值

   var nameValue=bjElement.getAttribute("name");

   alert("nameValue "+nameValue);

創(chuàng)建新元素節(jié)點(diǎn)

createElement()

按照給定的標(biāo)簽名創(chuàng)建一個(gè)新的元素節(jié)點(diǎn)。方法只有一個(gè)參數(shù):將被創(chuàng)建的元素的名字,是一個(gè)字符串.

  var reference = document.createElement(element);

方法的返回值:是一個(gè)指向新建節(jié)點(diǎn)的引用指針。返回值是一個(gè)元素節(jié)點(diǎn),所以它的 nodeType 屬性值等于 1

新元素節(jié)點(diǎn)不會(huì)自動(dòng)添加到文檔里,新節(jié)點(diǎn)沒(méi)有 nodeParent 屬性,它只是一個(gè)存在于 JavaScript 上下文的對(duì)象.

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

設(shè)置屬性節(jié)點(diǎn)

 //創(chuàng)建一個(gè)新的元素

  var pElement=document.createElement("li");

  //設(shè)置屬性值

  pElement.setAttribute("id","pid");

  

  //獲取父元素

  var loveElement=document.getElementById("love");

  //在父元素中增加子元素

loveElement.appendChild(pElement);

  //通過(guò)id獲取剛創(chuàng)建的元素

  var pidElement=document.getElementById("pid");

  alert(pidElement.getAttribute("id"));

創(chuàng)建新文本節(jié)點(diǎn)

createTextNode()

創(chuàng)建一個(gè)包含著給定文本的新文本節(jié)點(diǎn)。這個(gè)方法的返回值是一個(gè)指向新建文本節(jié)點(diǎn)引用指針。

  var textNode = document.createTextNode(text);

方法只有一個(gè)參數(shù):新建文本節(jié)點(diǎn)所包含的文本字符串

方法的返回值:是一個(gè)指向新建節(jié)點(diǎn)的引用指針。它是一個(gè)文本節(jié)點(diǎn),所以它的 nodeType 屬性等于 3.

新元素節(jié)點(diǎn)不會(huì)自動(dòng)添加到文檔里,新節(jié)點(diǎn)沒(méi)有 nodeParent 屬性

   

      var pElementText=document.createElement("li");

  var textElement=document.createTextNode("南京");

  pElementText.appendChild(textElement);

插入節(jié)點(diǎn)(1

appendChild()

為給定元素增加一個(gè)子節(jié)點(diǎn):                                   

   var newreference = element.appendChild(newChild).              

   給定子節(jié)點(diǎn) newChild 將成為給定元素節(jié)點(diǎn) element 的最后一個(gè)子節(jié)點(diǎn)。

方法的返回值是一個(gè)指向新增子節(jié)點(diǎn)的引用指針。

該方法通常與 createElement() createTextNode() 配合使用

新節(jié)點(diǎn)可以被追加給文檔中的任何一個(gè)元素

var newliElement=document.createElement("li");

 var textNode=document.createTextNode("北京");

 newliElement.appendChild(textNode);

 document.body.appendChild(newliElement);

 

 var liElement=document.getElementsByTagName("li");

 var textValue=liElement[0].firstChild.nodeValue;

 alert(textValue);

插入節(jié)點(diǎn)(2

insertBefore()

把一個(gè)給定節(jié)點(diǎn)插入到一個(gè)給定元素節(jié)點(diǎn)的給定子節(jié)點(diǎn)的前面

  var reference =  element.insertBefore(newNode,targetNode);

  節(jié)點(diǎn) newNode 將被插入到元素節(jié)點(diǎn) element 中并出現(xiàn)在節(jié)點(diǎn) targetNode 的前面.

節(jié)點(diǎn) targetNode 必須是 element 元素的一個(gè)子節(jié)點(diǎn)。

該方法通常與 createElement() 和 createTextNode() 配合使用

<ul id="city">     <li value="beijing^" id="beijing">北京</li>        </ul>

  <ul id="city01">   <li value="shanghai^" id="shanghai">上海</li>          </ul>

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

 var parentCityNode=document.getElementById("city");

 //獲取子節(jié)點(diǎn)

 var beijingNode=document.getElementById("beijing");

 var shanghaiNode=document.getElementById("shanghai");

 //插入

 parentCityNode.insertBefore(shanghaiNode,beijingNode);

<ul id="city">

        <li value="beijing^" id="beijing">北京</li>

 </ul>

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

 var parentCityNode=document.getElementById("city");

 //獲取子節(jié)點(diǎn)

 var beijingNode=document.getElementById("beijing");

 //創(chuàng)建節(jié)點(diǎn)newShanghaiNode

 var newShanghaiNode=document.createElement("li"); 

 //創(chuàng)建newShanghaiNode節(jié)點(diǎn)的文本節(jié)點(diǎn)

 var newTextNode=document.createTextNode("上海");

//在創(chuàng)建的節(jié)點(diǎn)上增加文本

 newShanghaiNode.appendChild(newTextNode);

 //插入節(jié)點(diǎn)

 parentCityNode.insertBefore(newShanghaiNode,beijingNode);

插入節(jié)點(diǎn)(3)

DOM 沒(méi)有提供 insertAfter() 方法

function insertAfter(newElement,targetElement){

   //獲取目標(biāo)元素的父節(jié)點(diǎn)

var parentElement=targetElement.parentNode;

   //如果目標(biāo)元素是最后一個(gè)元素,則新元素插入到目標(biāo)元素的后面

if(parentElement.lastChild==targetElement){

    parentElement.appendChild(newElement);

}else{//如果目標(biāo)元素不是最后一個(gè)元素,則新元素插入到目標(biāo)元素的的

   //下一個(gè)兄弟節(jié)點(diǎn)的前面,即目標(biāo)元素的后面

   parentElement.insertBefore(newElement,targetElement.nextSibling);

}

 }

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

removeChild()

從一個(gè)給定元素里刪除一個(gè)子節(jié)點(diǎn)

   var reference = element.removeChild(node);

返回值是一個(gè)指向已被刪除的子節(jié)點(diǎn)的引用指針。

某個(gè)節(jié)點(diǎn)被removeChild()方法刪除時(shí),這個(gè)節(jié)點(diǎn)所包含的所有子節(jié)點(diǎn)將同時(shí)被刪除。

 <ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>

 var ulElement=document.getElementById("city");

 var liElement=document.getElementById("beijing");

 ulElement.removeChild(liElement);

如果想刪除某個(gè)節(jié)點(diǎn),但不知道它的父節(jié)點(diǎn)是哪一個(gè),parentNode 屬性可以幫忙。

<ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>

   var liElement=document.getElementById("beijing");

   var parentElement=liElement.parentNode;

   parentElement.removeChild(liElement);

遍歷節(jié)點(diǎn)樹(shù)

ChildNodes:返回一個(gè)數(shù)組,這個(gè)數(shù)組由給定元素節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成:

var nodeList = node.childNodes;

文本節(jié)點(diǎn)和屬性節(jié)點(diǎn)都不可能再包含任何子節(jié)點(diǎn),所以它們的 ChildNodes 屬性永遠(yuǎn)會(huì)返回一個(gè)空數(shù)組。

如果想知道某個(gè)元素有沒(méi)有子節(jié)點(diǎn),可以用 hasChildNodes 方法。

如果想知道某個(gè)元素有多少個(gè)子節(jié)點(diǎn),可以用 childNodes 數(shù)組的 length 屬性。

childNodes 屬性是一個(gè)只讀屬性。

獲取第一個(gè)子節(jié)點(diǎn)

firstChild:該屬性返回一個(gè)給定元素節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn),返回這個(gè)節(jié)點(diǎn)對(duì)象的指針。

    var reference = node.firstChild;

文本節(jié)點(diǎn)和屬性節(jié)點(diǎn)都不可能包含任何子節(jié)點(diǎn),所以它們的 firstChild 屬性永遠(yuǎn)會(huì)返回 null

某個(gè)元素的 firstChild 屬性等價(jià)于這個(gè)元素的 childNodes 節(jié)點(diǎn)集合中的第一個(gè)節(jié)點(diǎn),即:

  var reference = node.ChildNodes[0];

firstChild 屬性是一個(gè)只讀屬性。

獲取最后一個(gè)子節(jié)點(diǎn)

lastChild:對(duì)應(yīng) firstChild 的一個(gè)屬性。

nextSibling: 返回一個(gè)給定節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn)。

parentNode:返回一個(gè)給定節(jié)點(diǎn)的父節(jié)點(diǎn)。

parentNode 屬性返回的節(jié)點(diǎn)永遠(yuǎn)是一個(gè)元素節(jié)點(diǎn),因?yàn)橹挥性毓?jié)點(diǎn)才有可能包含子節(jié)點(diǎn)。

document 節(jié)點(diǎn)的沒(méi)有父節(jié)點(diǎn)。

previousSibling:返回一個(gè)給定節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn)

innerHTML屬性

瀏覽器幾乎都支持該屬性,但不是 DOM 標(biāo)準(zhǔn)的組成部分。

innerHTML 屬性可以用來(lái)讀,寫某給定元素里的 HTML 內(nèi)容。

<div id="city"></div>

  var divElement=document.getElementById("city");

  divElement.innerHTML="<li value='beijing^'' id='beijing'>北京</li>";

顯示彈出窗口(方案一)

語(yǔ)法:

vReturnValue = window . showModalDialog ( sURL,

                                                    vArguments , sFeatures )

參數(shù)說(shuō)明: 

sURL--必選參數(shù),用來(lái)指定對(duì)話框要顯示的文檔的URL。 

vArguments--可選參數(shù),用來(lái)向?qū)υ捒騻鬟f參數(shù)。傳遞的參數(shù)類型不限,包括數(shù)組等。對(duì)話框通過(guò)window.dialogArguments來(lái)取得傳遞進(jìn)來(lái)的參數(shù)。 

sFeatures--可選參數(shù),用來(lái)描述對(duì)話框的外觀等信息,可以使用一個(gè)或幾個(gè),用分號(hào)“;”隔開(kāi)。

顯示彈出窗口(方案二)

window.opener 的用法

     window.opener 返回的是創(chuàng)建當(dāng)前窗口的那個(gè)窗口的引用,比如點(diǎn)擊了a.htm上的一個(gè)鏈接而打開(kāi)了b.htm,然后我們打算在b.htm上輸入一個(gè)值然后賦予a.htm上的一個(gè)id為“name”的text中,就可以寫為: 
    window.opener.document.getElementById("name").value = "輸入的數(shù)據(jù)";

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
js中的DOM操作
JS DOM節(jié)點(diǎn)及操作
理解Javascript中的事件綁定與事件委托
前端性能優(yōu)化(DOM操作篇)
Html5 常見(jiàn)的新增API1. getElementsByClassName()方法
通俗易懂的來(lái)講講DOM
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 龙川县| 东乡| 墨脱县| 偃师市| 太仓市| 辽阳县| 五原县| 元阳县| 泗水县| 怀安县| 天祝| 富锦市| 大理市| 呈贡县| 福安市| 翁牛特旗| 洱源县| 锡林郭勒盟| 桐柏县| 宁明县| 莆田市| 南溪县| 博乐市| 永康市| 田阳县| 吉木萨尔县| 茶陵县| 兰州市| 鄂温| 托克托县| 大安市| 长乐市| 石狮市| 淮安市| 上杭县| 锡林郭勒盟| 滁州市| 广昌县| 开化县| 崇礼县| 保山市|