js中利用tagname和id獲取元素的方法
本文分享了js中利用tagname和id獲取元素的3種方法,供大家參考,具體內(nèi)容如下
方法一:整體法,先獲取所有的元素,再通過ai+-b的方法來算出需要的元素
方法二:數(shù)組法,在全局環(huán)境下建立空數(shù)組,遇到需要循環(huán)的結(jié)構(gòu)時,在循環(huán)中獲取元素,并放入數(shù)組
方法三:函數(shù)法,遇到相同的幾組元素時,只操作一組元素,并用函數(shù)傳參來實現(xiàn)所有的效果
具體代碼如下
<!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]數(shù)組法,在全局環(huán)境下建立空數(shù)組,遇到需要循環(huán)的結(jié)構(gòu)時,在循環(huán)中獲取元素,并放入數(shù)組
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]函數(shù)法,遇到相同的幾組元素時,只操作一組元素,并用函數(shù)傳參來實現(xiàn)所有的效果
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>
希望本文所述對大家學(xué)習(xí)掌握js獲取元素的方法有所幫助。
相關(guān)文章
網(wǎng)易JS面試題與Javascript詞法作用域說明
Javascript函數(shù)在定義它們的作用域里運行,而不是在執(zhí)行它們的作用域里運行。2010-11-11
JS 實現(xiàn)banner圖片輪播效果(鼠標(biāo)事件)
js實現(xiàn)banner圖片輪播效果,通過鼠標(biāo)點擊左右可切換圖片,具體實現(xiàn)代碼大家參考下本文2017-08-08
JS中showModalDialog關(guān)閉子窗口刷新主窗口用法詳解
這篇文章主要介紹了JS中showModalDialog關(guān)閉子窗口刷新主窗口用法,結(jié)合具體實例形式較為詳細(xì)的分析了showModalDialog常見用法與相關(guān)使用技巧,需要的朋友可以參考下2017-03-03
原生JavaScript實現(xiàn)頁面滾動監(jiān)聽的方法步驟
滾動監(jiān)聽事件一般網(wǎng)頁中的返回頂部按鈕都是通過滾動監(jiān)聽事件來實現(xiàn)的,本文給大家介紹了原生JavaScript實現(xiàn)頁面滾動監(jiān)聽的方法步驟,文中通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2025-03-03
Bootstrap基本組件學(xué)習(xí)筆記之列表組(11)
這篇文章主要為大家詳細(xì)介紹了Bootstrap基本組件學(xué)習(xí)筆記之列表組,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12

