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 相关文章推荐
jquery 插件 任意位置浮动固定层
Dec 25 Javascript
Javascript 继承机制实例
Aug 12 Javascript
基于Jquery的温度计动画效果
Jun 18 Javascript
删除节点的jquery代码
Jan 13 Javascript
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
Jquery 全选反选实例代码
Nov 19 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
一文了解Vue中的nextTick
May 06 Javascript
微信小程序使用字体图标的方法
May 23 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
Jul 12 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 Javascript
JavaScript 对象创建的3种方法
Nov 17 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上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
基于jquery的商品展示放大镜
2010/08/07 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
理解javascript封装
2016/02/23 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
jQuery轮播图实例详解
2018/08/15 jQuery
JavaScript箭头函数中的this详解
2019/06/19 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
python爬取代理ip的示例
2020/12/18 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
建筑施工员岗位职责
2013/11/26 职场文书
小学毕业感言150字
2014/02/05 职场文书
学生周末长期请假条
2014/02/15 职场文书
销售求职信范文
2014/05/26 职场文书
正科级干部考察材料
2014/05/29 职场文书
个人批评与自我批评
2014/10/15 职场文书
副总经理岗位职责范本
2015/04/08 职场文书