JavaScript:通过id来进行元素的取得
每一个HTML元素都使用id来进行一个标注,随后可以通过document.getElementById(“ID名称”)取得指定的ID元素对象,取得元素对象之后就可以对其进行操作。
但是document.getElementById()只能取得一个元素信息。
范例:观察如下代码
event1.html
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="description" content=event.html"">
<meta name="keywords" content="event,html,js">
<title>javascript的程序开发之事件处理</title>
<script type="text/javascript" src="event1.js"></script>
</head>
<body>
<div id="infoTab">
<table border="1" cellPadding="5" cellspacing="0" bgcolor="F2F2F2" width="50%">
<tr id="infoTr">
<td>姓名</td>
<td>年龄</td>
<td>学历</td>
</tr>
<tr id="infoTr">
<td>张三</td>
<td>20</td>
<td>小学</td>
</tr>
<tr id="infoTr">
<td>李四</td>
<td>21</td>
<td>初中</td>
</tr>
<tr id="infoTr">
<td>王五</td>
<td>22</td>
<td>高中</td>
</tr>
<tr id="infoTr">
<td>赵六</td>
<td>23</td>
<td>大学</td>
</tr>
</table>
</div>
</body>
</html>

此时代码之中,最为方便的做法是所有的行都是用了一个id标注”id=infoTr”
范例:不完整的程序,每次只能单独改变一个单元格的高亮色
event1.js
/**
*obj: 要改变颜色的对象
*color: 要改变成的颜色
*/
function changeColor (obj,color) {
if (obj != undefined) {
obj.bgColor = color;
};
}
window.onload = function(){ //动态的绑定事件
//取出tr元素对象
var trObj = document.getElementById('infoTr'); //只能给一个tr绑定事件,因为id是唯一的 //绑定鼠标进入事件
trObj.addEventListener('mouseover',function(){
changeColor(this,'red');
},false); //绑定鼠标离开事件
trObj.addEventListener('mouseout',function(){
changeColor(this,'F2F2F2');
},false);
}
效果是:当鼠标只有进入第一个单元格时,高亮色成了红色,离开就变为原来的颜色

分析:本程序使用了“document.getElementById(“infoTr”)”取得了id对象,但是在代码中对于这个“infoTr”的Id值有多个,而document.getElementByiD(“infoTr“),只能够取得第一个,多以如果要想取得全部,则应该采用document.all(“iD”)形式完成(指的是id有重复的时候),返回的是对象数组。
范例:完整的程序,可以改变所有单元格的高亮色
event1.js
/**
*obj: 要改变颜色的对象
*color: 要改变成的颜色
*/
function changeColor (obj,color) {
if (obj != undefined) {
obj.bgColor = color;
};
}
window.onload = function(){ //动态的绑定事件 //取出tr元素对象数组
var trObj = document.all('infoTr'); //给所有的tr绑定事件,通过id取出的是一个对象数组
for (var i = 0; i < trObj.length; i++) { //绑定鼠标进入事件
trObj[i].addEventListener('mouseover',function(){
changeColor(this,'red');
},false); //绑定鼠标离开事件
trObj[i].addEventListener('mouseout',function(){
changeColor(this,'F2F2F2');
},false);
};
}
效果是:当鼠标进入任意一个单元格时,高亮色成了红色,离开就变为原来的颜色

如果使用DOM解析之后会有更加方便的做法,但是现阶段一定要记住,只能够依靠id取得内容。如果id只有一个,就使用document.getElementById(“iD”)返回单个对象;如果使用document.all(“iD”),就返回一个对象数组。
JavaScript:通过id来进行元素的取得的更多相关文章
- JavaScript通过ID获取元素坐标
JavaScript通过ID获取元素坐标 function getElementPos(elementId) { var ua = navigator.userAgent.toLowerCase ...
- Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID
query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的 ...
- 用Javascript动态添加删除HTML元素实例 (转载)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 定时5秒之后驻留在元素ID为content元素的内容
如果我只能刷新一个特定的页面的一部分,这将是很大的,例如:仪表盘上的交通灯显示系统状态. 这是很容易通过使用jQuery JavaScript库,只刷新页面的一部分.一旦我们纳入我们的页面的jQuer ...
- JavaScript获取HTML DOM节点元素详解(转)
在Web运用程序特别是Web 2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式.内容等.如何获取要更新的元素,是首先要处理的疑问. 51CTO推荐阅读:JavaScript DOM文档 ...
- 每天一个JavaScript实例-从一个div元素删除一个段落
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- JavaScript通过ID和name设置样式
JavaScript通过ID和name设置样式 1.说明 (1)根据所提供的元素的id值,返回对该元素的引用或节点 document.getElementById("tr_th") ...
- 通过class和id获取DOM元素的区别
1.通过id获取DOM元素的方法:document.getElementById("id名") 2.通过class获取DOM元素的方法:document.getElementsBy ...
- Jquery下控制backgroundPosition位置的问题/jquery查找data id相等的元素
1:想通过控制backgroundPosition 来实现动态效果: $(this).animate({"background-positionY":-13},1); //但是火狐 ...
- 在jquery中怎么使用css类名和id来获取元素?
在jquery中,你可以很容易的使用CSS类名和id类获取元素. 例如: 1.ID:#id $('#idA')——选择id为idA的所有元素,不管元素的标签名如何. $('div#idA')——选择i ...
随机推荐
- 李洪强-C语言关键字、标识符和注释
一.关键字 C语言提供的有特殊含义的符号,共32个. 在Xcode中关键字全部高亮显示,关键字全部都为小写.如return.int等. 二.标识符 定义:标识符是程序员在程序中自定义的一些符号和名称. ...
- 李洪强-C语言2-字符串
C语言字符串 一.字符串基础 注意:字符串一定以\0结尾. Printf(“yang\n”); 其中yang为字符串常量,“yang”=‘y’+‘a’+‘n’+‘g’+‘\0’.字符串由很多的字符 ...
- hdu Line belt
这道题是一道3分搜索的题.其实这种题很多时候都出现在高中的解析几何上,思路很简单,从图中可以看到,肯定在AB线段和CD线段上各存在一点x和y使得所花时间最少 因为AB和CD上的时间与x和y点的坐标都存 ...
- HDR the Bungie Way PPT and demo from MSFT
Gamefest 2006 - HDR the Bungie Way Posted By: Falagard <falagard@hotmail.com> Date: 4/26/07 9: ...
- Rails--render partial时传递参数
1. example如下: <%=render :partial => "networks/primary_agent", :locals => {:id =&g ...
- Nutch相关框架视频教程--说明
PDF文档: Nutch大数据相关框架讲义.pdf Nutch1.7二次开发培训讲义.pdf Nutch1.7二次开发培训讲义之腾讯微博抓取分析 Nutch公开课从搜索引擎到网络爬虫 ======== ...
- prototype linkage can reduce object initialization time and memory consumption
//对象是可变的键控集合, //"numbers, strings, booleans (true and false), null, and undefined" 不是对象的解释 ...
- Apache Kafka源码分析 - KafkaApis
kafka apis反映出kafka broker server可以提供哪些服务,broker server主要和producer,consumer,controller有交互,搞清这些api就清楚了 ...
- random circle
<!doctype html><meta charset="utf-8"><html><head><title>D3 t ...
- React.js model
// tutorial1.js var CommentBox = React.createClass({ render: function() { return ( <div className ...