javascript学习笔记(十八) 获得页面中的元素代码


Posted in Javascript onJune 20, 2012

1.获取元素

getElementById()方法,通过元素的id获取元素,接受一个参数即要获取元素的id,如果不存在这个id返回 null
注意不要让表单元素的name和别的元素的id相同,IE8以下的IE浏览器用这个方法通过元素的name属性可以获得该元素
以下面元素为例

<div id ="myDiv">这里是id为“myDiv”的div内容</div>var document.getElementById("myDiv"); //"myDiv"区分大小写,取得<div>元素的引用
getElementsByTagName()方法,通过元素的标签名获得元素,接受一个参数即要获取元素的标签名,返回包含0个或多个的NodeList

var images = document.getElementsByTagName("img"); //获取页面中的所有<img>元素 alert(images.length); //图像的数量 
alert(images[0].src); //第一个图片元素的src 
alert(images.item(0).src); //同上

getElementsByName()方法,通过元素的name属性获得元素,接受一个参数即要获取元素的name属性,常用来获取单选按钮
<ul> 
<li><input type="radio" name="color" value="red" id="colorRed"><label for="colorRed"></label></li> 
<li><input type="radio" name="color" value="green" id="colorGreen"><label for="colorGreen"></label></li> 
<li><input type="radio" name="color" value="blue" id="colorBlue"><label for="colorBlue"></label></li> 
</ul>var radios = document.getElementsByName("color"); //获取name="color"的所有单选按钮

2.获取元素子节点或元素子节点及其后代节点

<ul id="myList"> 
<li>项目一</li> 
<li>项目二</li> 
<li>项目三</li> 
</ul>

注意:IE认为<ul>元素有3个子节点,分别是3个元素,其他浏览器会认为有7个子节点,包括3个元素和4个文本节点,如果<ul>在一行中:

<ul id="myList"><li>项目一</li><li>项目二</li><li>项目三</li></ul>


任何浏览器都认为有3个子节点

获取元素的子节点:

var ul = document.getElementById("myList"); 
for (var i=0,len = ul.childNodes.length ; i < len ; i++ ) { 
if ( ul.childNodes.length[i].nodeType == 1) { //nodeType == 1 说明节点是元素节点,而不是文本节点 
//执行某些操作 
} 
}

获取元素的子节点及其后代节点:
var ul = document.getElementById("myList"); 
var items = ul.getElementsByTagName("li"); //li里的li也会被取得

3通过节点的属性查找其它节点
nextSibling属性指向当前节点的下一个兄弟节点
previousSibling属性指向当前节点的上一个兄弟节点
firstChild属性指向第一个子节点,lastChild指向最后一个子节点
childNodes保存着所有子节点(其实是NodeList对象),可以通过方括号的方法访问如 someNode.childNodes[0] 访问第一个子节点
parentNode属性指向父节点

节点关系如下:

javascript学习笔记(十八) 获得页面中的元素代码

NodeList是个数组对象,我们可以把它转换为数组,函数如下
function converToArray (nodes) { 
var arrary = null; 
try { 
array = Array.prototype.slice.call(nodes,0); 
} 
catch (ex) { 
array = new Array(); 
for (var i=0,len=nodes.length ; i<len ; i++) { 
array.push(nodes[i]); 
} 
} 
return array; 
} var div = document.getElementById("side"); 
alert(converToArray(div.childNodes));
Javascript 相关文章推荐
一些有关检查数据的JS代码
Sep 07 Javascript
javascript模拟的Ping效果代码 (Web Ping)
Mar 13 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
Mar 17 Javascript
javascript字符串替换及字符串分割示例代码
Dec 12 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
使用BootStrap进行轮播图的制作
Jan 06 Javascript
JS回调函数简单用法示例
Feb 09 Javascript
vue修改vue项目运行端口号的方法
Aug 04 Javascript
JS实现百度搜索接口及链接功能实例代码
Feb 02 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
Mar 14 Javascript
mpvue性能优化实战技巧(小结)
Apr 17 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
Jun 20 #Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
Jun 20 #Javascript
javascript学习笔记(十五) js间歇调用和超时调用
Jun 20 #Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 #Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 #Javascript
javascript学习笔记(十二) RegExp类型介绍
Jun 20 #Javascript
javascript学习笔记(十一) 正则表达式介绍
Jun 20 #Javascript
You might like
php miniBB中文乱码问题解决方法
2008/11/25 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
如何在PHP中使用数组
2020/06/09 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
Python 开发Activex组件方法
2009/11/08 Python
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
Python实现从订阅源下载图片的方法
2015/03/11 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
python实现用户答题功能
2018/01/17 Python
Python编程求质数实例代码
2018/01/31 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
学期研究性学习个人的自我评价
2014/01/09 职场文书
三字经教学反思
2014/04/26 职场文书
法制宣传月活动方案
2014/05/11 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
家长会开场白和结束语
2015/05/29 职场文书
教师节班会主持词
2015/07/06 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis