Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mendapatkan elemen menggunakan tagname dan id dalam kemahiran js_javascript

Bagaimana untuk mendapatkan elemen menggunakan tagname dan id dalam kemahiran js_javascript

WBOY
WBOYasal
2016-05-16 15:22:121274semak imbas

Artikel ini berkongsi 3 kaedah menggunakan tagname dan id untuk mendapatkan elemen dalam js untuk rujukan anda. Kandungan khusus adalah seperti berikut

Kaedah 1: Kaedah keseluruhan , mula-mula dapatkan semua elemen, dan kemudian gunakan kaedah ai -b untuk mengira elemen yang diperlukan

Kaedah 2: Kaedah tatasusunan , cipta tatasusunan kosong dalam persekitaran global dan apabila menemui struktur yang perlu digelung, dapatkan elemen dalam gelung dan masukkannya ke dalam tatasusunan

Kaedah 3: Kaedah fungsi , apabila menghadapi kumpulan elemen yang sama, hanya mengendalikan satu kumpulan elemen dan gunakan parameter fungsi untuk mencapai semua kesan

Kod khusus adalah seperti berikut

<!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>

Saya harap artikel ini akan membantu semua orang untuk mempelajari cara mendapatkan elemen dalam js.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn