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 相关文章推荐
javascript延时加载之defer测试
Dec 28 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
浅析JavaScript中的隐式类型转换
Dec 05 Javascript
不到30行JS代码实现Excel表格的方法
Nov 15 Javascript
javascript 数组操作详解
Jan 29 Javascript
JavaScript生成的动态下雨背景效果实现方法
Feb 25 Javascript
JS实现加载和读取XML文件的方法详解
Apr 24 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
Vue slot用法(小结)
Oct 22 Javascript
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
vue-cli中vue本地实现跨域调试接口
Jan 16 Javascript
javascript自定义右键菜单插件
Dec 16 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
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
python将ip地址转换成整数的方法
2015/03/17 Python
Python导入oracle数据的方法
2015/07/10 Python
python更新列表的方法
2015/07/28 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
Python换行与不换行的输出实例
2020/02/19 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
python解包概念及实例
2021/02/17 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
党校学习思想汇报
2014/01/06 职场文书
个人授权委托书
2014/04/03 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
信息简报范文
2015/07/21 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
Docker部署Mysql8的实现步骤
2022/07/07 Servers