麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

javascript基礎之查找元素的詳細介紹(訪問節點)

2019-11-20 22:33:58
字體:
來源:轉載
供稿:網友
當然這些選擇器都是jQuery擴展的一些方法,那么使用原生js時要怎樣來查找元素呢?今天就來簡單梳理下。

DOM定義了多種查找元素的方法,除了我們常用的getElementById(),還有getElementsByTagName()和getElementsByName()。使用這幾種方法方法我們可以查找html文檔中的任意html元素。

getElementById()
首先來看下getElementById(),這個方法很簡單,只需在參數中傳入html標簽的id屬性值即可,由于html頁面中的id具有唯一性,因此該方法返回的是單個元素對象。例如:
復制代碼 代碼如下:

<span id="span1">span標簽</span>
 <script>
     var oSpan = document.getElementById('span1'); //查找span元素
     alert(oSpan.innerHTML); //彈出span標簽中的內容
 </script>

getElementsByTagName()
getElementsByTagName()參數需傳入的是一個html標簽名,它返回的是html文檔中所有與之匹配的元素列表,這個列表具有部分數組的特性,因此也稱其為類數組。當我們想操作某個特定的元素時,我們可以使用數組索引或item()來實現,例如:
復制代碼 代碼如下:

<script>
     var oDiv = document.getElementsByTagName('div'); //查找所有div元素,返回一個元素列表
     /* 操作特定元素 */
     alert(oDiv[0].innerHTML) //彈出第一個div中的內容
     alert(oDiv.item(1).innerHTML) //彈出第二個div中的內容
 </script>

當然我們還可以通過length屬性來循環遍歷節點:
復制代碼 代碼如下:

<script>
     var oDiv = document.getElementsByTagName('div');
     for(var i = 0; i < oDiv.length; i++){
         //do something
     }
 </script>

getElementsByName()
getElementsByName()常用來查找表單元素,參數中傳入html標簽的name屬性值,由于文檔中多個html標簽的name值可能相同(如單選按鈕),因此該方法返回的也是一個元素列表。具體操作方法與getElementsByTagName()類似,這里不在贅述。
復制代碼 代碼如下:

<script>
     var oIpt= document.getElementsByName('city'); //查找name值為city的元素
     alert(oIpt[0].value);
     alert(oIpt.item(1).value);
 </script>

getByClass()
雖然使用上面的幾種方法已經可以滿足常見需求,但是為了更方便的訪問元素節點,我們一般會自己封裝一個通過class來查找元素的方法:
復制代碼 代碼如下:

<script>
     /** getByClass **/
     function getByClass(oParent, sClass){
         var aEle = oParent.getElementsByTagName('*');
         var re = new RegExp('//b' + sClass + '//b');
         var aResult = [];
         for(var i = 0; i < aEle.length; i++){
             if(re.test(aEle[i].className)){
                 aResult.push(aEle[i]);
             }
         }
         return aResult;
     }
 </script>

getByClass需傳入兩個參數,其中oParent為參考節點,即在oParent節點中查找元素,sClass為要查找的元素class的值。通過循環將oParent內的html標簽的class值與傳入的sClass值一一對比,符合條件的會存入到數組aResult中,最后再返回這個數組。

另外這里之所以用正則來匹配而沒有直接用aEle[i].className == sClass,是避免標簽的class值為多個時,出現匹配失效的情況。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 狠狠一区 | 亚洲日韩中文字幕一区 | 在线免费观看毛片 | 欧美成人一区二区三区电影 | 国产一精品久久99无吗一高潮 | 亚洲生活片 | 黄色av片三级三级三级免费看 | 欧美精品成人一区二区在线观看 | japan护士性xxxⅹhd | 免费a级毛片永久免费 | 国产精品午夜性视频 | 在线观看免费毛片视频 | 日美av在线 | 国产91亚洲精品一区二区三区 | 91成人免费视频 | 久久国产中文 | 一级黄色片在线看 | 久久夜夜视频 | av色在线观看 | 黄色羞羞 | 成人免费久久网 | 有色视频在线观看 | 久久久精品视 | 亚洲 91 | 午夜视频在线观看91 | 国产精品成人av片免费看最爱 | 精品亚洲免费 | 精国品产一区二区三区有限公司 | 国产免费小视频在线观看 | 国产一区二区不卡视频 | 国产免费乱淫av | 91精品观看91久久久久久国产 | 国产午夜精品久久久久久久蜜臀 | 久久网站热最新地址4 | 黄色一级视频 | 桥本有菜免费av一区二区三区 | 国产在线观看免费视频软件 | 中文日韩在线 | 一本色道久久综合狠狠躁篇适合什么人看 | 日韩做爰视频免费 | 99欧美精品 |