在javascript中關於節點內容加強

來源:互聯網
上載者:User

一、元素節點
複製代碼 代碼如下:
//測試元素節點,輸出節點名稱,節點的類型,節點的值
  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);
  }

二、屬性節點
複製代碼 代碼如下:
[/c//測試屬性節點,輸出屬性節點名稱,節點的類型,節點的值
  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"));
  }ode]

三、文本節點
[code]
 //測試元素節點,輸出節點名稱,節點的類型,節點的值
  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);
  }

四、替換節點

replaceChild()
把一個給定父元素裡的一個子節點替換為另外一個子節點
 var reference = element.replaceChild(newChild,oldChild);
傳回值是一個指向已被替換的那個子節點的引用指標。
如果被插入的子節點還有子節點,則那些子節點也被插入到目標節點中

複製代碼 代碼如下:
 //方法一
//  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"));
  }

五、尋找屬性節點

getAttribute()  
返回一個給定元素的一個給定屬性節點的值
 var attributeValue = element.getAttribute(attributeName);
給定屬性的名字必須以字串的形式傳遞給該方法。
給定屬性的值將以字串的形式返回,如果給定屬性不存在,getAttribute() 將返回一個Null 字元串.
通過屬性擷取屬性節點
   getAttributeNode(屬性的名稱)--Node


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

   //通過屬性名稱擷取屬性的值
     var  bjElement=document.getElementById("bj");
     var attributeValue=eduElement.getAttribute("name");
     alert("attributeValue    "+attributeValue);

   //通過屬性名稱擷取屬性的節點
   var  bjNode=eduElement.getAttributeNode("name");
       alert(eduNode.nodeValue);
       alert(eduNode.nodeType);
       alert(eduNode.nodeName);


六、設定屬性節點

setAttribute()
將給定元素節點添加一個新的屬性值或改變它的現有屬性的值。
   element.setAttribute(attributeName,attributeValue);
屬性的名字和值必須以字串的形式傳遞給此方法
如果這個屬性已經存在,它的值將被重新整理;
如果不存在,setAttribute()方法將先建立它再為其賦值。
 


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

   //擷取元素的引用
   var bjElement=document.getElementById("bj");
   //設定屬性值
   bjElement.setAttribute("name","beijing");
   //擷取設定的屬性值
   var nameValue=bjElement.getAttribute("name");
   alert("nameValue "+nameValue);

 

七、建立新元素節點

createElement()
按照給定的標籤名建立一個新的元素節點。方法只有一個參數:將被建立的元素的名字,是一個字串.
  var reference = document.createElement(element);
方法的傳回值:是一個指向建立節點的引用指標。傳回值是一個元素節點,所以它的 nodeType 屬性值等於 1。
新元素節點不會自動添加到文檔裡,新節點沒有 nodeParent 屬性,它只是一個存在於 JavaScript 內容相關的對象.
 var pElement = document.createElement("p");

   //建立一個新的元素
  var pElement=document.createElement("li");
  //設定屬性值
  pElement.setAttribute("id","pid");

  //擷取父元素
  var loveElement=document.getElementById("love");
  //在父元素中增加子項目
loveElement.appendChild(pElement);

  //通過id擷取剛建立的元素
  var pidElement=document.getElementById("pid");
  alert(pidElement.getAttribute("id"));

 

八、建立新文本節點

createTextNode()
建立一個包含著給定文本的新文本節點。這個方法的傳回值是一個指向建立文本節點引用指標。
  var textNode = document.createTextNode(text);
方法只有一個參數:建立文本節點所包含的文本字串
方法的傳回值:是一個指向建立節點的引用指標。它是一個文本節點,所以它的 nodeType 屬性等於 3.
新元素節點不會自動添加到文檔裡,新節點沒有 nodeParent 屬性

      var pElementText=document.createElement("li");
  var textElement=document.createTextNode("南京");
  pElementText.appendChild(textElement);


九、插入節點(1)

appendChild()
為給定元素增加一個子節點:                                  
   var newreference = element.appendChild(newChild).             
   給定子節點 newChild 將成為給定元素節點 element 的最後一個子節點。
方法的傳回值是一個指向新增子節點的引用指標。
該方法通常與 createElement() createTextNode() 配合使用
新節點可以被追加給文檔中的任何一個元素

複製代碼 代碼如下:
 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);

十、刪除節點

removeChild()
從一個給定元素裡刪除一個子節點
   var reference = element.removeChild(node);
傳回值是一個指向已被刪除的子節點的引用指標。
某個節點被removeChild()方法刪除時,這個節點所包含的所有子節點將同時被刪除。

複製代碼 代碼如下:
 <ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>
 var ulElement=document.getElementById("city");
 var liElement=document.getElementById("beijing");
 ulElement.removeChild(liElement);

如果想刪除某個節點,但不知道它的父節點是哪一個,parentNode 屬性可以幫忙。

複製代碼 代碼如下:
 <ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>
   var liElement=document.getElementById("beijing");
   var parentElement=liElement.parentNode;
   parentElement.removeChild(liElement);

十一、遍曆節點樹

ChildNodes:返回一個數組,這個數組由給定元素節點的子節點構成:
 var nodeList = node.childNodes;
文本節點和屬性節點都不可能再包含任何子節點,所以它們的 ChildNodes 屬性永遠會返回一個空數組。
如果想知道某個元素有沒有子節點,可以用 hasChildNodes 方法。
如果想知道某個元素有多少個子節點,可以用 childNodes 數組的 length 屬性。
childNodes 屬性是一個唯讀屬性。


十二、擷取第一個子節點

firstChild:該屬性返回一個給定元素節點的第一個子節點,返回這個節點對象的指標。
    var reference = node.firstChild;
文本節點和屬性節點都不可能包含任何子節點,所以它們的 firstChild 屬性永遠會返回 null。
某個元素的 firstChild 屬性等價於這個元素的 childNodes 節點集合中的第一個節點,即:
  var reference = node.ChildNodes[0];
firstChild 屬性是一個唯讀屬性。


十三、擷取最後一個子節點

lastChild:對應 firstChild 的一個屬性。
nextSibling: 返回一個給定節點的下一個兄弟節點。
parentNode:返回一個給定節點的父節點。
parentNode 屬性返回的節點永遠是一個元素節點,因為只有元素節點才有可能包含子節點。
document 節點的沒有父節點。
previousSibling:返回一個給定節點的上一個兄弟節點


十四、innerHTML 屬性

瀏覽器幾乎都支援該屬性,但不是 DOM 標準的組成部分。
innerHTML 屬性可以用來讀,寫某給定元素裡的 HTML 內容。
複製代碼 代碼如下:
<div id="city"></div> 
var divElement=document.getElementById("city"); 
divElement.innerHTML="<li value='beijing^'' id='beijing'>北京</li>"; 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.