Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 成年人小视频网站,国语一级毛片,91精品国产免费久久久久久青草

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Xpath 定位HTML節(jié)點(diǎn)

          Xpath 定位HTML節(jié)點(diǎn)

          、介紹

          XPath(XML Path Language)是一種用于在 XML 文檔中定位節(jié)點(diǎn)的查詢語(yǔ)言。它提供了一種簡(jiǎn)潔而強(qiáng)大的方式來(lái)遍歷和選擇 XML 文檔中的元素和屬性

          二、語(yǔ)法

          表達(dá)式

          描述

          示例

          nodename

          選擇指定標(biāo)簽名的節(jié)點(diǎn)

          html 將選擇所有名為html 的節(jié)點(diǎn)。

          *

          選擇所有節(jié)點(diǎn)

          * 選擇文檔中的所有節(jié)點(diǎn)

          /nodename

          從根節(jié)點(diǎn)開(kāi)始選擇,只能一層一層的往下找

          /html/body/div將選擇文檔中的所有div 節(jié)點(diǎn)

          //tagname

          選擇任意位置的節(jié)點(diǎn)

          //div將選擇文檔中的所有div 節(jié)點(diǎn)

          @

          選擇具有指定屬性名和屬性值的節(jié)點(diǎn),或者獲取屬性

          //div[@id="billboard"]//a/@href,[@id="billboard"]獲取id=billboard的div,@href獲取href屬性

          .

          選取當(dāng)前節(jié)點(diǎn)

          .//div[@id="billboard"]

          ..

          選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)

          ..//div[@id="billboard"]

          三、謂語(yǔ)

          表達(dá)式

          描述

          示例

          [condition]

          添加條件來(lái)篩選節(jié)點(diǎn)

          //div[@id="billboard"]獲取id=billboard的div

          position()

          選擇具有指定位置的節(jié)點(diǎn)

          //div[@id="billboard"]//tr[position()=1]獲取第一個(gè)tr,等同于 //div[@id="billboard"]//tr[1]

          last()

          選擇最后一個(gè)節(jié)點(diǎn)

          //div[@id="billboard"]//tr[last()] 獲取最后一個(gè)tr

          四、運(yùn)算符

          表達(dá)式

          描述

          示例

          |

          計(jì)算兩個(gè)節(jié)點(diǎn)集

          //book | //cd,返回所有擁有 book 和 cd 元素的節(jié)點(diǎn)集

          +

          8 + 4

          -

          8 - 4

          *

          8 * 4

          div

          8 div 4

          >

          大于

          //div[@id="billboard"]//tr[position()>1]獲取位置大于2的tr

          <

          小于

          //div[@id="billboard"]//tr[position()<2]獲取位置小于2的tr

          =

          等于

          //div[@id="billboard"]//tr[position()=1]獲取第一個(gè)tr,等同于 //div[@id="billboard"]//tr[1]

          !=

          非等于

          //div[@id="billboard"]//tr[position()=1]獲取位置非等于1的元素

          >=

          大于等于

          //div[@id="billboard"]//tr[position()>=2]獲取位置大于等于2的tr

          <=

          小于等于

          //div[@id="billboard"]//tr[position()<=2]獲取位置小于等于2的tr

          and

          //div[@id="billboard"]//tr[@class='test' and position()>2] 獲取class為test且位置大于2的tr

          or

          //div[@id="billboard"]//tr[position()=1 or position()=2]獲取位置等于1和等于2的tr

          not

          //div[@id="billboard"]//tr[not(position()=1)]獲取位置非1的的tr

          五、軸(Axis)

          表達(dá)式

          描述

          ancestor

          選取當(dāng)前節(jié)點(diǎn)的所有先輩(父、祖父等)。

          ancestor-or-self

          選取當(dāng)前節(jié)點(diǎn)的所有先輩(父、祖父等)以及當(dāng)前節(jié)點(diǎn)本身。

          attribute

          選取當(dāng)前節(jié)點(diǎn)的所有屬性。

          child

          選取當(dāng)前節(jié)點(diǎn)的所有子元素。

          descendant

          選取當(dāng)前節(jié)點(diǎn)的所有后代元素(子、孫等)。

          descendant-or-self

          選取當(dāng)前節(jié)點(diǎn)的所有后代元素(子、孫等)以及當(dāng)前節(jié)點(diǎn)本身。

          following

          選取文檔中當(dāng)前節(jié)點(diǎn)的結(jié)束標(biāo)簽之后的所有節(jié)點(diǎn)。

          following-sibling

          選取當(dāng)前節(jié)點(diǎn)之后的所有兄弟節(jié)點(diǎn)

          namespace

          選取當(dāng)前節(jié)點(diǎn)的所有命名空間節(jié)點(diǎn)。

          parent

          選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。

          preceding

          選取文檔中當(dāng)前節(jié)點(diǎn)的開(kāi)始標(biāo)簽之前的所有節(jié)點(diǎn)。

          preceding-sibling

          選取當(dāng)前節(jié)點(diǎn)之前的所有同級(jí)節(jié)點(diǎn)。

          self

          選取當(dāng)前節(jié)點(diǎn)。

          六、常用函數(shù)

          更多函數(shù)請(qǐng)參考:https://www.runoob.com/xpath/xpath-functions.html

          表達(dá)式

          描述

          示例

          position()

          選擇具有指定位置的節(jié)點(diǎn)

          //div[@id="billboard"]//tr[position()=1]獲取第一個(gè)tr,等同于 //div[@id="billboard"]//tr[1]

          last()

          選擇最后一個(gè)節(jié)點(diǎn)

          //div[@id="billboard"]//tr[last()] 獲取最后一個(gè)tr

          text()

          獲取節(jié)點(diǎn)的文本內(nèi)容

          //div[@id="billboard"]//a/text() 獲取div[@id="billboard"]下所有a標(biāo)簽中的文本

          contains(@attr,?'value')????

          模糊匹配

          //div[@id="billboard"]//a[contains(@href, '35698284')] 選擇href中包含35698284的a標(biāo)簽

          starts-with(@attr,?'value')?

          是否以指定字符開(kāi)頭

          //div[@id="billboard"]//a[starts-with(@href, 'https')] 選擇href以https開(kāi)頭的a標(biāo)簽

          ends-with(@attr,?'value')

          是否以指定字符結(jié)尾

          //div[@id="billboard"]//a[ends-with(@href, '35698284')] 選擇href以35698284結(jié)尾的a標(biāo)簽

          、什么是節(jié)點(diǎn)


           回顧概念:
           文檔:document
           元素:頁(yè)面中所有的標(biāo)簽,元素---element, 標(biāo)簽----元素---對(duì)象
           節(jié)點(diǎn):頁(yè)面中所有的內(nèi)容(標(biāo)簽,屬性,文本(文字,換行,空格,回車(chē))),Node
           根元素:html標(biāo)簽

          節(jié)點(diǎn)node

          nodeType

          nodeName

          nodeValue

          元素節(jié)點(diǎn)

          1

          標(biāo)簽名(大寫(xiě))

          null

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

          2

          屬性名

          屬性值

          文本節(jié)點(diǎn)

          3

          #text

          文本內(nèi)容

          CDATA節(jié)點(diǎn)

          4

          #cdata-section

          CDATA區(qū)域內(nèi)容

          實(shí)體引用名稱節(jié)點(diǎn)

          5

          引用名稱

          null

          實(shí)體名稱節(jié)點(diǎn)

          6

          實(shí)體名稱

          null

          處理指令節(jié)點(diǎn)

          7

          target

          entire content cluding the target

          注釋節(jié)點(diǎn)

          8

          #comment

          注釋內(nèi)容

          文檔節(jié)點(diǎn)

          9

          #document

          null

          文檔類(lèi)型節(jié)點(diǎn)

          10

          doctype的名稱

          null

          文檔片段節(jié)點(diǎn)

          11

          #document-fragment

          null

          DTD聲明節(jié)點(diǎn)

          12

          符號(hào)名稱

          null

           ****節(jié)點(diǎn)的屬性:(可以使用標(biāo)簽--元素.出來(lái),可以使用屬性節(jié)點(diǎn).出來(lái),文本節(jié)點(diǎn).點(diǎn)出來(lái))
           nodeType:節(jié)點(diǎn)的類(lèi)型
           nodeName:節(jié)點(diǎn)的名字
           nodeValue:節(jié)點(diǎn)的值

          二、節(jié)點(diǎn)的獲取(包含元素節(jié)點(diǎn))

          相關(guān)html代碼

           <div id="dv">
             <span>這是div中的第一個(gè)span標(biāo)簽</span>
             <p>這是div中的第二個(gè)元素,第一個(gè)p標(biāo)簽</p>
             <ul id="uu">
               <li>喬峰</li>
               <li>鹿茸</li>
               <li id="three">段譽(yù)</li>
               <li>卡卡西</li>
               <li>雛田</li>
             </ul>
           </div>

          獲取父節(jié)點(diǎn)(屬性):

           // 獲取某節(jié)點(diǎn)的父級(jí)節(jié)點(diǎn)
           node.parentNode
           // 獲取某節(jié)點(diǎn)的父級(jí)元素
           node.parentElement

          獲取子節(jié)點(diǎn)(屬性):

           // 獲取某節(jié)點(diǎn)的子節(jié)點(diǎn)
           node.childNodes
           // 獲取某節(jié)點(diǎn)的子元素
           node.children

          屬性節(jié)點(diǎn)(方法):

           // 獲取屬性節(jié)點(diǎn)
           node.getAttributeNode("name")

          獲取其他相關(guān)節(jié)點(diǎn)(屬性)—— 拓展:

           // 獲取某節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)
           node.firstChild;//-----------------------IE8中是第一個(gè)子元素
           // 獲取某節(jié)點(diǎn)的第一個(gè)子元素
           node.firstElementChild;//----------------IE8中不支持
           // 獲取某節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)
           node.lastChild;//------------------------IE8中是第一個(gè)子元素
           // 獲取某節(jié)點(diǎn)的最后一個(gè)子元素
           node.lastElementChild;//-----------------IE8中不支持
           
           // 獲取某節(jié)點(diǎn)的前一個(gè)兄弟節(jié)點(diǎn)
           node.previousSibling;
           // 獲取某節(jié)點(diǎn)的前一個(gè)兄弟元素
           node.previousElementSibling;
           // 獲取某節(jié)點(diǎn)的后一個(gè)兄弟節(jié)點(diǎn)
           node.nextSibling;
           // 獲取某節(jié)點(diǎn)的后一個(gè)兄弟元素
           node.nextElementSibling;

          案例:點(diǎn)擊按鈕設(shè)置div中p標(biāo)簽改變背景顏色(掌握)

          html和css代碼

           <!DOCTYPE html>
           <html lang="en">
           
           <head>
               <meta charset="UTF-8">
               <meta http-equiv="X-UA-Compatible" content="IE=edge">
               <meta name="viewport" content="width=device-width, initial-scale=1.0">
               <title>Document</title>
               <style>
                   div {
                       width: 300px;
                       height: 450px;
                       border: 1px solid red;
                  }
               </style>
           </head>
           
           <body>
               <input type="button" value="變色" id="btn" />
               <div id="dv">
                   <span>這是span</span>
                   <p>這是p</p>
                   <span>這是span</span>
                   <p>這是p</p>
                   <span>這是span</span>
                   <p>這是p</p>
                   <span>這是span</span>
                   <a href="http://www.baidu.com">百度</a>
               </div>
           </body>
           
           </html>

          JavaScript代碼

          <html>
          <head>
          <title>DOM 教程</title>
          </head>
          <body>
          <h1>DOM 第一課</h1>
          <p class="example">Hello world!</p>
          <input name="myInput" type="text" size="20" /><br />
          <h1 id="myHeader">This is a header</h1>
          </body>
          </html>

          上面的 HTML 中:

          <html> 節(jié)點(diǎn)沒(méi)有父節(jié)點(diǎn);它是根節(jié)點(diǎn)

          <head> 和 <body> 的父節(jié)點(diǎn)是 <html> 節(jié)點(diǎn)

          文本節(jié)點(diǎn) "Hello world!" 的父節(jié)點(diǎn)是 <p> 節(jié)點(diǎn)

          并且:

          <html> 節(jié)點(diǎn)擁有兩個(gè)子節(jié)點(diǎn):<head> 和 <body>

          <head> 節(jié)點(diǎn)擁有一個(gè)子節(jié)點(diǎn):<title> 節(jié)點(diǎn)

          <title> 節(jié)點(diǎn)也擁有一個(gè)子節(jié)點(diǎn):文本節(jié)點(diǎn) "DOM 教程"

          <h1> 和 <p> 節(jié)點(diǎn)是同胞節(jié)點(diǎn), 同時(shí)也是 <body> 的子節(jié)點(diǎn)

          并且:

          <head> 元素是 <html> 元素的首個(gè)子節(jié)點(diǎn)

          <body> 元素是 <html> 元素的最后一個(gè)子節(jié)點(diǎn)

          <h1> 元素是 <body> 元素的首個(gè)子節(jié)點(diǎn)

          <p> 元素是 <body> 元素的最后一個(gè)子節(jié)點(diǎn)

          訪問(wèn)節(jié)點(diǎn):

          var oLi=document.getElementsByTagName("li");
          var oLi=document.getElementById("myHeader");
          var oLi=document.getElementsByName("myInput"); //通過(guò)name屬性訪問(wèn)

          querySelector訪問(wèn)方式: IE8開(kāi)始支持, IE8以下不支持

          var div=document.querySelector("#myHeader"); //通過(guò)id訪問(wèn)
          var div=document.querySelector("li"); //通過(guò)標(biāo)簽訪問(wèn)
          document.querySelector(".example"); //通過(guò)class屬性訪問(wèn)

          獲取表單值

          document.getElementById(id).value

          querySelector() 方法返回文檔中匹配指定 CSS 選擇器的一個(gè)元素。

          注意: querySelector() 方法僅僅返回匹配指定選擇器的第一個(gè)元素。

          如果你需要返回所有的元素, 請(qǐng)使用 querySelectorAll() 方法替代。

          利用父子兄關(guān)系查找節(jié)點(diǎn):

          使用childNodes屬性

          對(duì)象屬性

          nodeName 返回當(dāng)前節(jié)點(diǎn)名字

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

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

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

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


          nodeValue 返回當(dāng)前節(jié)點(diǎn)的值, 僅對(duì)文本節(jié)點(diǎn)和屬性節(jié)點(diǎn)

          對(duì)于文本節(jié)點(diǎn), nodeValue 屬性包含文本。

          對(duì)于屬性節(jié)點(diǎn), nodeValue 屬性包含屬性值。

          nodeValue 屬性對(duì)于文檔節(jié)點(diǎn)和元素節(jié)點(diǎn)是不可用的。

          注意:nodeValue與tagName的區(qū)別對(duì)于空白節(jié)點(diǎn)的返回值:nodeValue返回null, tagName返回undefined

          對(duì)于文本節(jié)點(diǎn)的返回值:nodeValue返回文本, tagName返回undefined

          nodeType 檢測(cè)節(jié)點(diǎn)類(lèi)型:

          alert(document.nodeType);

          元素節(jié)點(diǎn)的nodeType值為1; 標(biāo)簽名稱

          屬性節(jié)點(diǎn)的nodeType值為2; 屬性名稱 屬性節(jié)點(diǎn)不能算是其元素節(jié)點(diǎn)的子節(jié)點(diǎn)

          文本節(jié)點(diǎn)的nodeType值為3; #text

          注釋(Comment) 8: #comment

          文檔(Document) 9 #document <HTML>

          文檔類(lèi)型(DocumentType) 10: <!DOCTYPE HTML PUBLIC"...">

          節(jié)點(diǎn) nodeType nodeName nodeValue

          元素節(jié)點(diǎn) 1 大寫(xiě)的標(biāo)簽名 null

          屬性節(jié)點(diǎn) 2 屬性名 屬性值

          文本節(jié)點(diǎn) 3 #text 文本值

          tagName 返回標(biāo)簽的名稱, 僅對(duì)元素節(jié)點(diǎn)

          parentNode 返回當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn), 如果存在的話

          childNodes 返回當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)集合

          firstChild 對(duì)標(biāo)記的子節(jié)點(diǎn)集合中第一個(gè)節(jié)點(diǎn)的引用, 如果存在的話

          lastChild 對(duì)標(biāo)記的子節(jié)點(diǎn)集合中最后一個(gè)節(jié)點(diǎn)的引用, 如果存在的話

          previousSibling 對(duì)同屬一個(gè)父節(jié)點(diǎn)的前一個(gè)兄弟節(jié)點(diǎn)的引用

          nextSibling 對(duì)同屬一個(gè)父節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn)的引用

          Attributes 返回當(dāng)前節(jié)點(diǎn)(標(biāo)記)屬性的列表 用于XML文件

          ownerDocument 返回節(jié)點(diǎn)所屬的根元素

          一些 DOM 對(duì)象方法

          getElementById() 返回帶有指定 ID 的元素。

          getElementsByTagName() 返回包含帶有指定標(biāo)簽名稱的所有元素的節(jié)點(diǎn)列表(集合/節(jié)點(diǎn)數(shù)組)。

          getElementsByName() 返回包含帶有指定類(lèi)名的所有元素的節(jié)點(diǎn)列表。

          appendChild() 把新的子節(jié)點(diǎn)添加到指定節(jié)點(diǎn)。

          removeChild() 刪除子節(jié)點(diǎn)。

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

          insertBefore() 在指定的子節(jié)點(diǎn)前面插入新的子節(jié)點(diǎn)。

          createAttribute() 創(chuàng)建屬性節(jié)點(diǎn)。

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

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

          getAttribute() 返回指定的屬性值。

          setAttribute() 把指定屬性設(shè)置或修改為指定的值。

          刪除、替換、插入子節(jié)點(diǎn)必須通過(guò)父節(jié)點(diǎn)的removeChild()方法來(lái)完成的

          createAttribute() 創(chuàng)建屬性節(jié)點(diǎn)

          var att=document.createAttribute("class");
          att.value="democlass";
          document.getElementsByTagName("H1")[0].setAttributeNode(att);

          以上代碼可以簡(jiǎn)化為

          document.getElementsByTagName("H1")[0].class="democlass";

          createAttribute()結(jié)合setAttributeNode()使用

          等同于:

          document.getElementsByTagName("H1")[0].setAttributeNode("class", "democlass");

          DOM獲取所有子節(jié)點(diǎn):

          <html>
          <head>
          <title>childNodes</title>
          <script language="javascript">
          function myDOMInspector(){
          var oUl=document.getElementById("myList"); //獲取<ul>標(biāo)記
          var DOMString="";
          if(oUl.hasChildNodes()){ //判斷是否有子節(jié)點(diǎn)
          var oCh=oUl.childNodes;
          for(var i=0;i<oCh.length;i++) //逐一查找
          DOMString +=oCh[i].nodeName + "\n";
          }
          alert(DOMString);
          }
          </script>
          </head>
          <body onload="myDOMInspector()">
          <ul id="myList">
          <li>糖醋排骨</li>
          <li>圓籠粉蒸肉</li>
          <li>泡菜魚(yú)</li>
          <li>板栗燒雞</li>
          <li>麻婆豆腐</li>
          </ul>
          </body>
          </html>

          使用parentNode屬性:

          <html>
          <head>
          <title>parentNode</title>
          <script language="javascript">
          function myDOMInspector(){
          var myItem=document.getElementById("myDearFood");
          alert(myItem.parentNode.tagName); //返回值為ul
          }
          </script>
          </head>
          <body onload="myDOMInspector()">
          <ul>
          <li>糖醋排骨</li>
          <li>圓籠粉蒸肉</li>
          <li>泡菜魚(yú)</li>
          <li id="myDearFood">板栗燒雞</li>
          <li>麻婆豆腐</li>
          </ul>
          </body>
          </html>

          DOM的兄弟關(guān)系:

          <html>
          <head>
          <title>Siblings</title>
          <script language="javascript">
          function myDOMInspector(){
          var myItem=document.getElementById("myDearFood");
          //訪問(wèn)兄弟節(jié)點(diǎn)
          var nextListItem=myItem.nextSibling;
          var preListItem=myItem.previousSibling;
          alert(nextListItem.tagName +" "+ preListItem.tagName);
          }
          </script>
          </head>
          <body onload="myDOMInspector()">
          <ul>
          <li>糖醋排骨</li>
          <li>圓籠粉蒸肉</li>
          <li>泡菜魚(yú)</li>
          <li id="myDearFood">板栗燒雞</li>
          <li>麻婆豆腐</li>
          </ul>
          </body>
          </html>

          編寫(xiě)自定義函數(shù)解決Firefox等瀏覽器包含眾多的空格作為文本節(jié)點(diǎn)問(wèn)題。

          <html>
          <head>
          <title>Siblings</title>
          <script language="javascript">
          function nextSib(node){
          var tempLast=node.parentNode.lastChild;
          //判斷是否是最后一個(gè)節(jié)點(diǎn),如果是則返回null
          if(node==tempLast)
          return null;
          var tempObj=node.nextSibling;
          //逐一搜索后面的兄弟節(jié)點(diǎn),直到發(fā)現(xiàn)元素節(jié)點(diǎn)為止
          while(tempObj.nodeType!=1 && tempObj.nextSibling!=null)
          tempObj=tempObj.nextSibling;
          //三目運(yùn)算符,如果是元素節(jié)點(diǎn)則返回節(jié)點(diǎn)本身,否則返回null
          return (tempObj.nodeType==1)?tempObj:null;
          }
          function prevSib(node){
          var tempFirst=node.parentNode.firstChild;
          //判斷是否是第一個(gè)節(jié)點(diǎn),如果是則返回null
          if(node==tempFirst)
          return null;
          var tempObj=node.previousSibling;
          //逐一搜索前面的兄弟節(jié)點(diǎn),直到發(fā)現(xiàn)元素節(jié)點(diǎn)為止
          while(tempObj.nodeType!=1 && tempObj.previousSibling!=null)
          tempObj=tempObj.previousSibling;
          return (tempObj.nodeType==1)?tempObj:null;
          }
          function myDOMInspector(){
          var myItem=document.getElementById("myDearFood");
          //獲取后一個(gè)元素兄弟節(jié)點(diǎn)
          var nextListItem=nextSib(myItem);
          //獲取前一個(gè)元素兄弟節(jié)點(diǎn)
          var preListItem=prevSib(myItem);
          alert("后一項(xiàng):" + ((nextListItem!=null)?nextListItem.firstChild.nodeValue:null) + " 前一項(xiàng):" + ((preListItem!=null)?preListItem.firstChild.nodeValue:null) );
          }
          </script>
          </head>
          <body onload="myDOMInspector()">
          <ul>
          <li>糖醋排骨</li>
          <li>圓籠粉蒸肉</li>
          <li>泡菜魚(yú)</li>
          <li id="myDearFood">板栗燒雞</li>
          <li>麻婆豆腐</li>
          </ul>
          </body>
          </html>

          注意:最新版的IE瀏覽器也包含眾多的空格作為文本節(jié)點(diǎn);

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

          getAttribute()方法和setAttibute()方法

          <html>
          <head>
          <title>getAttribute()</title>
          <script language="javascript">
          function myDOMInspector(){
          //獲取圖片
          var myImg=document.getElementsByTagName("img")[0];
          //獲取圖片title屬性
          alert(myImg.getAttribute("title")); //也可以用myImg.title獲取屬性值
          }
          </script>
          </head>
          <body onload="myDOMInspector()">
          <img src="01.jpg" title="情人坡" />
          </body>
          </html>
          <html>
          <head>
          <title>setAttribute()</title>
          <script language="javascript">
          function changePic(){
          //獲取圖片
          var myImg=document.getElementsByTagName("img")[0];
          //設(shè)置圖片src和title屬性
          myImg.setAttribute("src","02.jpg"); //可以在屬性節(jié)點(diǎn)不存在時(shí),添加節(jié)點(diǎn)的屬性值;
          myImg.setAttribute("title","紫荊公寓"); //也可以通過(guò)myImg.title="紫荊公寓";
          }
          </script>
          </head>
          <body>
          <img src="01.jpg" title="情人坡" onclick="changePic()" />
          </body>
          </html>

          setAttribute()設(shè)置HTML標(biāo)簽的屬性

          oTable.setAttribute("border", "3"); //為表格邊框設(shè)置寬度
          oTable.setAttribute("border", 3);
          oTable.setAttribute("border", "3px"); //經(jīng)過(guò)測(cè)試, 此種寫(xiě)法也正確

          建議: 具體格式參照HTML屬性值的語(yǔ)法格式

          setAttibute()設(shè)置行內(nèi)樣式

          obj.setAttribute("style", "position:absolute;left:200px;top:200px");

          注意:具體格式參考CSS樣式的語(yǔ)法格式

          setAttibute()設(shè)置事件屬性

          obj.setAttribute("onclick", "remove_img()"); //remove_img() 編寫(xiě)自定義函數(shù), 這里不能使用自定義函數(shù)

          注意:關(guān)于文本節(jié)點(diǎn)兼容性

          元素節(jié)點(diǎn)

          子節(jié)點(diǎn): childNodes children

          首尾子節(jié)點(diǎn): firstChild firstElementChild

          lastChild lastElementChild

          兄弟節(jié)點(diǎn): nextSibling nextElementSibling

          previousSibling previousElementSibling

          childNodes firstChild lastChild nextSibling previousSibling屬性IE6-IE8版本瀏覽器不會(huì)返回空白節(jié)點(diǎn),

          IE9以上版本瀏覽器會(huì)返回文本節(jié)點(diǎn), W3C瀏覽器(包括火狐瀏覽器)也會(huì)返回文本節(jié)點(diǎn)

          children firstElementChild lastElementChild nextElementSibling previousElementSibling 只返回元素節(jié)點(diǎn), 不會(huì)返回空白節(jié)點(diǎn)

          注意: DOM操作必須保住DOM節(jié)點(diǎn)必須存在, 當(dāng)然也包括使用css樣式display:none隱藏的DOM節(jié)點(diǎn), 否則會(huì)導(dǎo)致js語(yǔ)法錯(cuò)誤;


          主站蜘蛛池模板: 韩国一区二区视频| 波多野结衣高清一区二区三区 | 精品永久久福利一区二区| 国产一区二区精品久久91| 无码中文字幕一区二区三区| 一区二区在线视频| 一区二区三区国产精品 | 国产综合一区二区在线观看| 国产亚洲福利精品一区二区| 亚洲午夜在线一区| 天堂Av无码Av一区二区三区| 亚洲AV色香蕉一区二区| 亚洲一区二区三区在线网站 | 无码一区二区三区爆白浆| 国偷自产一区二区免费视频| 91精品乱码一区二区三区| 色婷婷亚洲一区二区三区| 国产一区二区三区在线电影| 一区二区三区在线免费| 色一情一乱一伦一区二区三区 | 日韩有码一区二区| 国产传媒一区二区三区呀| 天堂一区二区三区在线观看| 亚洲第一区在线观看| 久久婷婷色一区二区三区| 国产在线一区二区综合免费视频| 又紧又大又爽精品一区二区| 日韩精品国产一区| 精品中文字幕一区在线| 武侠古典一区二区三区中文| 日本精品一区二区三区在线视频一| 国产精品亚洲一区二区三区| 中文字幕精品亚洲无线码一区| 无码av人妻一区二区三区四区| 亚洲色精品VR一区区三区| 国产午夜精品一区二区三区极品 | 日韩高清一区二区三区不卡| 老熟妇高潮一区二区三区| 日本精品一区二区在线播放| 国产一区二区视频免费| 中文字幕精品亚洲无线码一区应用|