1. 程式人生 > >JavaScript之動態獲取元素

JavaScript之動態獲取元素

一,使用方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>getElementByTagName</title>
</head>
<body>
    <ul id="ul">
        <li>1</li>
        <li>2</li>
        <li>3</li>
<li>4</li> </ul> </body> </html> <!-- getElementById 是獲取一個 getElementsByTagName 是獲取一堆元素 通過陣列下標獲得特定元素區(必要),否則會出現underfined異常 --> <script type="text/javascript"> var ul=document.getElementById('ul'); var oli=document.getElementsByTagName(
'li'); alert(oli[2].innerHTML); </script>

點選效果:


二.注意事項

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>getElementByTagName</title>
 6 </head>
 7 <body>
 8     <ul id="ul">
 9
<li>1</li> 10 <li>2</li> 11 <li>3</li> 12 <li>4</li> 13 </ul> 14 <ol> 15 <li>5</li> 16 <li>6</li> 17 </ol> 18 </body> 19 </html> 20 21 <script type="text/javascript"> 22 var ul=document.getElementById('ul'); 23 var oli=document.getElementsByTagName('li'); 24 alert(oli.length); 25 </script>

我要表達的是:

var oli=document.getElementsByTagName('li');
因為這行程式碼,我們是在document下尋找li元素個數,故而ol下的兩個li元素也被計算進去

若只是想尋找ul下的li元素個數,對程式碼進行如下修改:

 

var oli=ul.getElementsByTagName('li');
程式碼意義是在獲取ul下的li標籤元素

 


三.小例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>getElementByTagName注意事項</title>
</head>
<body>
    <ul id="ul">
        
    </ul>
    <ol>
        <li>5</li>
        <li>6</li>
    </ol>
</body>
</html>
<script type="text/javascript">
    var ul=document.getElementById('ul');
     var oli=ul.getElementsByTagName('li');    
     for(var i=0;i<5;i++){
         ul.innerHTML+='<li>'+i+'</li>'
     }
     alert(oli.length);
</script>

雖然是新增上的五個li元素,但是由於是從ul下獲取li元素,依舊可以動態的獲取到準確的五個li元素長度值