JS选取DOM元素的简单方法


Posted in Javascript onJuly 08, 2016

摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选)

今天试了下各种选取元素的方法的速度,用原生的方法比jQuery要快差不多8倍,IE8是最慢的,IE9的速度差不多是IE8的3倍,Chrome的表现最好,其次是Firefox)

选取文档元素的方法:

1、通过ID选取元素(getElementById)

1)使用方法:document.getElementById("domId")
   其中,domId为要选取元素的id属性值

2)兼容性:低于IE8版本的IE浏览器对getElementById方法的实现是不区分元素ID号的大小写的,并且会返回匹配name属性的元素。

2、通过名称name选取元素(getElementsByName)

1)使用方法:document.getElementsByName("domName")
    其中,domName为要选取元素的name属性值

2)说明:a. 返回值是一个nodeList集合(区别于Array)

b. 和ID属性不一样,name属性只在少数DOM元素中有效(form表单、表单元素、iframe、img)。这是因为name属性是为了方便提交表单数据而打造的。

c. 为form、img、iframe、applet、embed、object元素设置name属性时,会自动在Document对象中创建以该name属性值命名的属性。所以可以通过document.domName引用相应的dom对象

3)兼容性:IE中ID属性值匹配的元素也会一起返回

3、通过标签名选取元素(getElementsByTagName)

1)使用方法:element.getElementsByTagName("tagName")
   其中,element是有效的DOM元素(包括document)

tagName是DOM元素的标签名

2)说明:a. 返回值是一个nodeList集合(区别于Array)
b. 该方法只能选取调用该方法的元素的后代元素。
c. tagName不区分大小写
d. 当tagName为*时,表示选取所有元素(需遵从b.规则)
e. HTMLDocument会定义一些快捷属性来访问标签节点。如:document的images、forms、links属性指向<img>、<form>、<a>标签元素集合,而document.body和document.head总是指向body和head标签(当未显示声明head标签时,浏览器也会创建document.head属性)

4、通过CSS类选取元素(getElementsByClassName)

1)使用方法:element.getElementsByClassName("classNames")
其中,element是有效的DOM元素(包括document)
classNames是CSS类名称的组合(多个类名之间用空格,可以是多个空格隔开),
如element.getElementsByClassName("class2 class1")将选取elements后代元素中同时应用了class1和class2样式的元素(样式名称不区分先后顺序)

2)说明:a. 返回值是一个nodeList集合(区别于Array)

b. 该方法只能选取调用该方法的元素的后代元素。

3)兼容性:IE8及其以下版本的浏览器未实现getElementsByClassName方法

5、通过CSS选择器选取元素

1)使用方法:document.querySelectorAll("selector")
其中,selector为合法的CSS选择器

2)说明:a. 返回值是一个nodeList集合(区别于Array)

3)兼容性:IE8及其以下版本的浏览器只支持CSS2标准的选择器语法

以上这篇JS选取DOM元素的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
asp.net和asp下ACCESS的参数化查询
Jun 11 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
jQuery代码优化 选择符篇
Nov 01 Javascript
JQuery for与each性能比较分析
May 14 Javascript
jQuery选择器全集详解
Nov 24 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
Jul 20 Javascript
浅谈js多维数组和hash数组定义和使用
Jul 27 Javascript
Vue.js开发环境搭建
Nov 10 Javascript
JS实现仿PS的调色板效果完整实例
Dec 21 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
Jan 09 Javascript
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
封装获取dom元素的简单实例
Jul 08 #Javascript
jquery.serialize() 函数语法及简单实例
Jul 08 #Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 #Javascript
Augularjs-起步详解
Jul 08 #Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
Jul 08 #Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 #Javascript
Angularjs---项目搭建图文教程
Jul 08 #Javascript
You might like
无线电广播的开始
2002/01/30 无线电
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
Javascript 二维数组
2009/11/26 Javascript
json数据的列循环示例
2013/09/06 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
Vue.use源码分析
2017/04/22 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python机器学习之神经网络(三)
2017/12/20 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
小学生一分钟演讲稿
2014/08/26 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
七年级地理教学计划
2015/01/22 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android