JavaScipt选取文档元素的方法(推荐)


Posted in Javascript onAugust 05, 2016

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

选取文档元素的方法:

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)使用方法:document.getElementsByTagName("tagName")

其中,element是有效的DOM元素(包括document)
                 tagName是DOM元素的标签名

如:var aInput = document.getElementsByTagName("input");

 var aName = aInput[0];

 var pwd = aInput[1];

  var cfm = aInput[2];

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标准的选择器语法

以上这篇JavaScipt选取文档元素的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
跟我学习javascript的Date对象
Nov 19 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
Angularjs中的页面访问权限怎么设置
Nov 11 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
Apr 10 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
jQuery实现模糊查询的方法分析
May 10 jQuery
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
May 18 Javascript
详解Vue结合后台的列表增删改案例
Aug 21 Javascript
小程序实现搜索框
Jun 19 Javascript
JS倒计时两种实现方式代码实例
Jul 27 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 #Javascript
jQuery实现定位滚动条位置
Aug 05 #Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
Aug 05 #Javascript
浅谈JavaScript中的this指针和引用知识
Aug 05 #Javascript
JavaScript中的this引用(推荐)
Aug 05 #Javascript
JS实现HTML表格排序功能
Aug 05 #Javascript
JavaScript如何实现跨域请求
Aug 05 #Javascript
You might like
php 各种应用乱码问题的解决方法
2010/05/09 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
PHP 实现 JSON 数据的编码和解码操作详解
2020/04/22 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
2020/12/20 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python格式化css文件的方法
2015/03/10 Python
详解Python中with语句的用法
2015/04/15 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
GNC健安喜官方海外旗舰店:美国著名保健品牌
2017/01/04 全球购物
质检部岗位职责
2013/11/11 职场文书
纺织工程专业个人求职信范文
2014/01/27 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
干部个人考察材料
2014/12/24 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
一行Python命令实现批量加水印
2022/04/07 Python