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 相关文章推荐
小试JQuery的AutoComplete插件
May 04 Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 Javascript
JS实现网页抢购功能(触发,终止脚本)
Nov 27 Javascript
vue+axios+promise实际开发用法详解
Oct 15 Javascript
vue实现微信分享功能
Nov 28 Javascript
JS实现躲避粒子小游戏
Jun 18 Javascript
Vue实现导入Excel功能步骤详解
Jul 03 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
数据库相关问题
2006/10/09 PHP
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
原生js写的放大镜效果
2012/08/22 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
Python返回数组/List长度的实例
2018/06/23 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
探矿工程师自荐信
2014/01/24 职场文书
《我的信念》教学反思
2014/02/15 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
保姆聘用合同
2015/09/21 职场文书
导游词之长城八达岭
2019/09/24 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
Pygame Draw绘图函数的具体使用
2021/11/17 Python
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript