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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
Apr 06 Javascript
onkeydown事件解决按回车键直接提交数据的需求
Apr 11 Javascript
javascript利用apply和arguments复用方法
Nov 25 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
Js冒泡事件详解及阻止示例
Mar 21 Javascript
js弹出确认是否删除对话框
Mar 27 Javascript
jQuery中dequeue()方法用法实例
Dec 29 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
AngularJS实现表单验证功能
Jan 09 Javascript
Vue filter 过滤器、以及在table中的使用介绍
Sep 07 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 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利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
2014年两会学习心得体会
2014/03/17 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
迁户口计划生育证明
2014/10/19 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang