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利用div背景,做一个竖线的效果。
Nov 22 Javascript
ExtJs的Date格式字符代码
Dec 30 Javascript
js 可拖动列表实现代码
Dec 13 Javascript
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
Knockout自定义绑定创建方法
Dec 26 Javascript
jQuery Easyui实现左右布局
Jan 26 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
Jan 30 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
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
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
jquery radio 操作代码
2011/03/16 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
Python 文件管理实例详解
2015/11/10 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python单例模式实例详解
2017/03/01 Python
Python subprocess模块详细解读
2018/01/29 Python
详解python中asyncio模块
2018/03/03 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
Linux常见面试题
2016/10/04 面试题
自考生自我鉴定范文
2013/10/01 职场文书
优秀士兵个人事迹材料
2014/01/19 职场文书
项目总经理岗位职责
2014/02/14 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
支部组织生活会方案
2014/06/10 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
Python 语言实现六大查找算法
2021/06/30 Python