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 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
Bootstrap精简教程
Nov 27 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
jquery跟随屏幕滚动效果的实现代码
Apr 13 Javascript
JavaScript数组的栈方法与队列方法详解
May 26 Javascript
js实现String.Fomat的实例代码
Sep 02 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
小程序页面动态配置实现方法
Feb 05 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
原生JavaScript实现简单五子棋游戏
Jun 28 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 小乘法表实现代码
2009/07/16 PHP
基于Zend的Captcha机制的应用
2013/05/02 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
如何用js控制css中的float的代码
2007/08/16 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
Vue实现active点击切换方法
2018/03/16 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
Python3写入文件常用方法实例分析
2015/05/22 Python
python交互式图形编程实例(一)
2017/11/17 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
Django实现组合搜索的方法示例
2018/01/23 Python
Python线程同步的实现代码
2018/10/03 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
美国知名生活购物网站:Goop
2017/11/03 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
《我要的是葫芦》教学反思
2014/02/23 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
公司股份合作协议书
2014/12/07 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
Redis命令处理过程源码解析
2022/02/12 Redis