js中利用tagname和id获取元素的方法


Posted in Javascript onJanuary 03, 2016

本文分享了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 相关文章推荐
js中文逗号转英文实现
Feb 11 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
Mar 02 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
Apr 16 Javascript
Node.js Streams文件读写操作详解
Jul 04 Javascript
JS+CSS3实现超炫的散列画廊特效
Jul 16 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
微信小程序登录态控制深入分析
Apr 12 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
JavaScript同源策略和跨域访问实例详解
Apr 03 Javascript
Vue解析剪切板图片并实现发送功能
Feb 04 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 #Javascript
基于javascript实现简单计算器功能
Jan 03 #Javascript
详解Javascript事件驱动编程
Jan 03 #Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 #Javascript
js实现搜索框关键字智能匹配代码
Mar 26 #Javascript
javascript合并表格单元格实例代码
Jan 03 #Javascript
JS Array.slice 截取数组的实现方法
Jan 02 #Javascript
You might like
PHP生成随机密码类分享
2014/06/25 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python批量转换文件编码格式
2015/05/17 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python selenium的基本使用方法分析
2019/12/21 Python
pandas中ix的使用详细讲解
2020/03/09 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
浅谈Python中的模块
2020/06/10 Python
python实现登录与注册系统
2020/11/30 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
乡镇办公室工作决心书
2014/03/11 职场文书
2016国培学习心得体会
2016/01/08 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
redis实现排行榜功能
2021/05/24 Redis
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript