js中利用tagname和id获取元素的方法
本文分享了js中利用tagname和id获取元素的3种方法,供大家参考,具体内容如下
方法一:整体法,先获取所有的元素,再通过ai+-b的方法来算出需要的元素
方法二:数组法,在全局环境下建立空数组,遇到需要循环的结构时,在循环中获取元素,并放入数组
方法三:函数法,遇到相同的几组元素时,只操作一组元素,并用函数传参来实现所有的效果
具体代码如下
<!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获取元素的方法有所帮助。
相关文章
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
这篇文章主要介绍了最简单纯JavaScript实现Tab标签页切换的方式(推荐)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-07-07JavaScript前端面试扁平数据转tree与tree数据扁平化
这篇文章主要为大家介绍了JavaScript面试中扁平数据转tree以及tree数据扁平化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-06-06JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
这篇文章主要介绍了JS采用ActiveXObject实现用户在提交表单时屏蔽敏感词的功能的相关资料,需要的朋友可以参考下2017-06-06如何通过递归方法实现用json-diff渲染json字符串对比结果
JsonDiff是一个高性能json差异发现工具,它几乎可以发现任何JSON结构的差异,并且将错误信息反馈给用户,下面这篇文章主要给大家介绍了关于如何通过递归方法实现用json-diff渲染json字符串对比结果的相关资料,需要的朋友可以参考下2022-12-12JS实现手机号脱敏、邮箱脱敏、身份证号脱敏、姓名脱敏等常见脱敏代码示例
这篇文章主要给大家介绍了关于JS实现手机号脱敏、邮箱脱敏、身份证号脱敏、姓名脱敏等常见脱敏的相关资料,脱敏的目的是保护用户隐私,一种常见的方式是显示部分字符,用星号或其他字符替代,需要的朋友可以参考下2024-02-02
最新评论