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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
javascript 装载iframe子页面,自适应高度
Mar 20 Javascript
jQuery 处理表单元素的代码
Feb 15 Javascript
基于node.js的快速开发透明代理
Dec 25 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
jquery图形密码实现方法
Mar 11 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
总结JavaScript的正则与其他语言的不同之处
Aug 25 Javascript
JavaScript requestAnimationFrame动画详解
Sep 14 Javascript
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
基于JS实现简单滑块拼图游戏
Oct 12 Javascript
Vue仿Bibibili首页的问题
Jan 21 Vue.js
信息页文内画中画广告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中全局变量global的使用演示代码
2011/05/18 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
jQuery实现的form转json经典示例
2017/10/10 jQuery
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
python获取文件扩展名的方法
2015/07/06 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python3实现弹弹球小游戏
2019/11/25 Python
tensorflow的计算图总结
2020/01/12 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
大学生求职信例文
2014/06/29 职场文书
影视广告专业求职信
2014/09/02 职场文书
甘南现象心得体会
2014/09/11 职场文书
项目合作协议书
2014/09/23 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
2014年团总支工作总结
2014/11/21 职场文书
大学生入党群众意见书
2015/06/02 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
MySQL批量更新不同表中的数据
2022/05/11 MySQL