JS获取html元素的标记名实现方法


Posted in Javascript onOctober 08, 2016

常见的获取元素的方法有3种,分别是通过元素ID、通过标签名字和通过类名字来获取。

getElementById

DOM提供了一个名为getElementById的方法,这个方法将返回一个与之对应id属性的节点对象。使用的时候请注意区分大小写。

它是document对象特有的函数,只能通过其来调用该方法。其使用的方法如下:

document.getElementById('demo') //demo是元素对应的ID

该方法兼容主流浏览器,甚至包括IE6+,可以大胆使用。

getElementsByTagName

该方法返回一个对象数组(准确的说是HTMLCollection集合,它不是真正意义上的数组),每个对象分别对应着文档里有着给定标签的一个元素。类似于getElementById,同样,该方法只提供一个参数,它的参数是指定标签的名字,示例代码如下:

 

document.getElementsByTagname('li') //li是标签的名字

需要注意的是,该方法除了能被document对象调用之外,还可以被普通的元素调用。示例如下:

原生DOM的话首先获取标签对象,id或者name或其他

例:

<p id="targetp" >2333333</p>
<script>
  var element = document.getElementById("targetp");
  var tagname = element.tagName;
  alert(tagname);
</script>

jQuery获取

$("#content-header").get(0).tagName

如果已经获取到对象可以直接获取标记名

<p onclick="alert('您单击的是:'+this.tagName);">中华人民共和国</p>
var demo = document.getElementById('demo');
var lis = demo.getElementsByTagname('li');

同样,该方法兼容主流浏览器,甚至包括IE6+,可以大胆使用。

getElementsByClassName

除了通过指定标签获取元素外,DOM还提供了getElementsByClassName方法来获取指定class名的元素。不过由于该方法比较新,较老的浏览器还不支持,比如IE6。不过我们可以通过hack方式来弥补老浏览器缺陷。该方法调用的方式如下所示:

document.getElementsByClassName('demo')  //demo为元素指定的class名

和getElementsByTagname一样, 该方法除了能被document对象调用之外,还可以被普通的元素调用。

对于比较老的浏览器,比如IE6、7我们可以通过下面的hack方式来实现:

function getElementsByClassName(node,classname){
    if(node.getElementsByClassName) {
      return node.getElementsByClassName(classname);
    }else {
      var results = [];
      var elems = node.getElementsByTagName("*");
      for(var i = 0; i < elems.length; i++){
        if(elems[i].className.indexOf(classname) != -1){
          results[results.length] = elems[i];
        }
      }
      return results;
    }
  }

拓展

如果你不仅仅满足上面那些元素选择的方法,想和JQuery一样,能通过选择器来获取元素,实现的方法和上面的getElementsByClassName差不多,如果有兴趣自己可以实现一套选择器。不过我觉得有上面的三个方法再结合事件冒泡,已经够用了,毕竟这三种性能上算是优秀的。

以上就是小编为大家带来的JS获取html元素的标记名实现方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript下有关dom以及xml节点访问兼容问题
Nov 26 Javascript
对js关键字命名的疑问介绍
Apr 25 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
May 22 Javascript
jQuery 隐藏和显示 input 默认值示例
Jun 03 Javascript
javascript中函数作为参数调用的方法
Feb 09 Javascript
jQuery检测某个元素是否存在代码分享
Jul 09 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
原生js实现选项卡功能
Mar 08 Javascript
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 Javascript
js获取元素的标签名实现方法
Oct 08 #Javascript
什么是JavaScript中的结果值?
Oct 08 #Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 #Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 #Javascript
bootstrap下拉列表与输入框组结合的样式调整
Oct 08 #Javascript
Bootstrap字体图标无法正常显示的解决方法
Oct 08 #Javascript
Javascript中常用的检测方法小结
Oct 08 #Javascript
You might like
如何使用PHP往windows中添加用户
2006/12/06 PHP
js DOM模型操作
2009/12/28 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
Python 初始化多维数组代码
2008/09/06 Python
python getopt 参数处理小示例
2009/06/09 Python
python中xrange用法分析
2015/04/15 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python字符编码判断方法分析
2016/07/01 Python
python通过zabbix api获取主机
2018/09/17 Python
用Python读取几十万行文本数据
2018/12/24 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
应届生会计电算化求职信
2013/10/03 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
开办加工厂创业计划书
2014/01/03 职场文书
文明之星事迹材料
2014/05/09 职场文书
给校长的建议书500字
2014/05/15 职场文书
领导班子整改措施
2014/10/24 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书
辩护词格式
2015/05/22 职场文书
失恋33天观后感
2015/06/11 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
Java实现带图形界面的聊天程序
2022/06/10 Java/Android
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers