首頁  >  文章  >  web前端  >  在javascript中關於節點內容加強_基礎知識

在javascript中關於節點內容加強_基礎知識

WBOY
WBOY原創
2016-05-16 17:37:311007瀏覽

一、元素節點

複製程式碼 程式碼如下://測試元素節點,輸出節點名稱,節點的類型,節點的值
  var liElements=document.getElementsByTagName("li");
  for(var i=0;i     alert(liElements[i].nodeName);
     alert(liElements[i].nodeType);
     alert(liElements[i].noo


二、屬性節點

複製程式碼

程式碼如下:[/c//測試屬性節點,輸出屬性節點名稱,節點的型別,節點的值  var liElements=document.getElementsByTagName("li");  for(var i=0;i      var attrElement=liElements[i].getAttributeNode("value")      alert("att) nodeType);      alert("attrElement.nodeValue " liElements[i].getAttribute("value"));  }ode]

三、文字節點

[code]
 //測試元素節點,輸出節點名稱,節點的類型,節點的值
  var liElements=document.getElementsByTagName(" li");
  for(var i=0;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]Child.nodeType);
   alert(liElements[i]Child.nodeType);
   alert(liElements[i].firstld.no.fir)>




四、替換節點


replaceChild()
把一個給定父元素裡的一個子節點替換為另外一個子節點
 var reference = element.replaceChild(newChild,oldChild);

傳回值是一個指向已被替換的那個子節點的引用指標。 如果被插入的子節點還有子節點,則那些子節點也被插入到目標節點


複製程式碼


程式碼如下:

 //方法一 //方法一/圖> document.getElementById("city");//  var loveElement=document.getElementById("love");//  var cityChildElement=document.getElementById("beijing");
////M =document.getElementById("fankong");
//  var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement);
//  loveElement.appendChild(oldElement);
//¢ "id"));

  var cityElement=document.getElementById("city");
         cityElement.onclick=function(){
         var loveChildElement=document.getElementById ("fankong");
         var oldElement=cityElement.replaceChild(loveChildElement,cityChildElement);
       ("id"));  }


五、找出屬性節點

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


 

  • 北京


  •    //透過屬性名取得屬性的值
         var  bjElement=document.getElementById(" bj");
         var attributeValue=eduElement.getAttribute("name");
         alert("attributeValue  =eduElement.getAttributeNode("name");
           alert(eduNode.nodeValue);
           alert(eduNode.nodeType);
          alert(eduNode.nodeType);

    六、設定屬性節點


    setAttribute()將給定元素節點新增一個新的屬性值或改變它的現有屬性的值。    element.setAttribute(attributeName,attributeValue);

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

    如果這個屬性已經存在,它的值將被刷新;
    如果不存在,setAttribute()方法將先創建它再為其賦值。
     


      

  • 北京

  •    //取得元素的參考

       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()為給定元素增加一個子節點:                       Child).                 給定子節點newChild 為給定元素節點element 的最後一個子節點。

    方法的回傳值是一個指向新增子節點的參考指標。

    此方法通常與 createElement() createTextNode() 搭配使用
    新節點可以被追加給文件中的任何一個元素




    複製程式碼

    程式碼如下:

     var newliElement=document.createElement("li");
     var textNode=document.createTextNode("北京");
     newliElement.appendChild(textNode);
     var liElement=document.getElementsByTagName("li");
     var textValue=liElement[0].firstChild.nodeValue;
     alert( 🎜>

    十、刪除節點

    removeChild()從一個給定元素中刪除一個子節點

       var reference = element.removeChild(node);

    傳回值是一個指向已刪除的子節點的參考指標。
    某個節點被removeChild()方法刪除時,這個節點所包含的所有子節點將同時被刪除。


     var ulElement=document.getElementById("city");
     var liElement=document.getElementById("beijing");
     ulElement.removeChild(liElement);



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

    複製程式碼 程式碼如下: 
       
    • 北京
       var liElement=document.getElementById("beijing");
       var parentElement=liElement.parentNode; (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 內容。



    複製程式碼

    程式碼如下:
    var divElement=document.getElementById("city"); 
    divElement.innerHTML="
  • 北京
  • "; 


    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn