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 相关文章推荐
动态调用css文件——jquery的应用
Feb 20 Javascript
js函数般调用正则
Apr 08 Javascript
IE中createElement需要注意的一个问题
Jul 13 Javascript
jquery获取tagName再进行判断
May 29 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
深入理解JavaScript中为什么string可以拥有方法
May 24 Javascript
js显示动态时间的方法详解
Aug 20 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
js实现右键自定义菜单
Dec 03 Javascript
很棒的一组js图片轮播特效
Jan 12 Javascript
Angular 输入框实现自定义验证功能
Feb 19 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
php获取某个目录大小的代码
2008/09/10 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
JavaScript Prototype对象
2009/01/07 Javascript
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
Angularjs 实现动态添加控件功能
2017/05/25 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
js实现QQ邮箱邮件拖拽删除功能
2020/08/27 Javascript
python实现在pickling的时候压缩的方法
2014/09/25 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
浅析python连接数据库的重要事项
2021/02/22 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
软件测试面试题
2014/01/05 面试题
工商行政管理专业求职书
2014/05/23 职场文书
入党推优材料
2014/06/02 职场文书
青年文明号汇报材料
2014/12/23 职场文书
初中军训感言
2015/08/01 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
Python MNIST手写体识别详解与试练
2021/11/07 Python