js中用tagname和id擷取元素的3種方法

來源:互聯網
上載者:User

標籤:utf-8   html   click   script   elements   [1]   htm   ++   迴圈   

<!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <title>3種用tagname和id擷取元素的方法</title> <style> body{      margin: 0; } ul{      margin: 0;      padding: 0;      list-style: none; } h1{      margin: 0; } </style> </head> <body> <div  class = "box"  id= "box" >      <h1  class = "box-tit" >分類名稱</h1>      <ul  class = "box-list"  id= "box-list" >          <li  class = "box-listI" >              <input  class = "box-listI-input" >              <button>儲存</button>              <button>取消</button>          </li>          <li  class = "box-listI" >              <input  class = "box-listI-input" >              <button>儲存</button>              <button>取消</button>          </li>          <li  class = "box-listI" >              <input  class = "box-listI-input" >              <button>儲存</button>              <button>取消</button>          </li>      </ul> </div> <script> //[1]整體法,先擷取所有的元素,再通過ai+-b的方法來算出需要的元素 var  oList = document.getElementById( ‘box-list‘ ); var  aInput = oList.getElementsByTagName( ‘input‘ ); var  aBtn =oList.getElementsByTagName( ‘button‘ ); for ( var  i = 0; i < aBtn.length; i++){      aBtn[i].index = i; } for ( var  i = 0; i < aInput.length; i++){      //確定按鈕      aBtn[2*i].onclick = function(){          aInput[ this .index/2].disabled =  true ;      }      //取消按鈕      aBtn[2*i+1].onclick = function(){          aInput[( this .index-1)/2].disabled =  false ;          aInput[( this .index-1)/2].value =  ‘‘ ;          console.log(1);      } } //[2]數組法,在全域環境下建立空數組,遇到需要迴圈的結構時,在迴圈中擷取元素,並放入數組 var  oList = document.getElementById( ‘box-list‘ ); var  aIn = oList.getElementsByTagName( ‘li‘ ); var  aInput = []; var  aBtnY = []; var  aBtnX = []; for ( var  i = 0; i < aIn.length; i++){      aInput[i] = aIn[i].getElementsByTagName( ‘input‘ )[0];      aBtnY[i] = aIn[i].getElementsByTagName( ‘button‘ )[0];      aBtnX[i] = aIn[i].getElementsByTagName( ‘button‘ )[1];      aBtnY[i].index = aBtnX[i].index = i;      //確定按鈕      aBtnY[i].onclick = function(){          aInput[ this .index].disabled =  true ;      }      //取消按鈕      aBtnX[i].onclick = function(){          aInput[ this .index].disabled =  false ;          aInput[ this .index].value =  ‘‘ ;          console.log(2);      }   } //[3]函數法,遇到相同的幾組元素時,只操作一組元素,並用函數傳參來實現所有的效果 var  oList = document.getElementById( ‘box-list‘ ); var  aIn = oList.getElementsByTagName( ‘li‘ ); function fn(i){      var  oInput  = aIn[i].getElementsByTagName( ‘input‘ )[0];      var  oBtnY = aIn[i].getElementsByTagName( ‘button‘ )[0];      var  oBtnX = aIn[i].getElementsByTagName( ‘button‘ )[1];      //確定按鈕      oBtnY.onclick = function(){          oInput.disabled =  true ;      }      //取消按鈕      oBtnX.onclick = function(){          oInput.disabled =  false ;          oInput.value =  ‘‘ ;          console.log(3);      }       } for var  i = 0; i < aIn.length; i++){      fn(i); } </script> </body> </html>

js中用tagname和id擷取元素的3種方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.