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 相关文章推荐
javascript的console.log()用法小结
May 31 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
Jan 07 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
Apr 28 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
Mar 01 Javascript
JS自定义滚动条效果
Mar 13 Javascript
Vue组件跨层级获取组件操作
Jul 27 Javascript
js获取url页面id,也就是最后的数字文件名
Sep 25 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 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学习笔记之 函数声明(二)
2011/06/09 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
javascript tips提示框组件实现代码
2010/11/19 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
webpack3之loader全解析
2017/10/26 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
python flask实现分页的示例代码
2018/08/02 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
Python 3.8 新功能全解
2019/07/25 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
浅析Python的命名空间与作用域
2020/11/25 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
什么是URL
2015/12/13 面试题
业务经理的岗位职责
2013/11/16 职场文书
出纳会计岗位职责
2014/03/12 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
城南旧事电影观后感
2015/06/16 职场文书
创业计划书之养殖业
2019/10/11 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS