每一个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来进行元素的取得的更多相关文章

  1. JavaScript通过ID获取元素坐标

    JavaScript通过ID获取元素坐标 function getElementPos(elementId) {    var ua = navigator.userAgent.toLowerCase ...

  2. Jquery取得iframe中元素的几种方法Javascript Jquery获取Iframe的元素、内容或者ID

    query取得iframe中元素的几种方法 在iframe子页面获取父页面元素代码如下: $('#objId', parent.document);// 搞定... 在父页面 获取iframe子页面的 ...

  3. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 定时5秒之后驻留在元素ID为content元素的内容

    如果我只能刷新一个特定的页面的一部分,这将是很大的,例如:仪表盘上的交通灯显示系统状态. 这是很容易通过使用jQuery JavaScript库,只刷新页面的一部分.一旦我们纳入我们的页面的jQuer ...

  5. JavaScript获取HTML DOM节点元素详解(转)

    在Web运用程序特别是Web 2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式.内容等.如何获取要更新的元素,是首先要处理的疑问. 51CTO推荐阅读:JavaScript DOM文档 ...

  6. 每天一个JavaScript实例-从一个div元素删除一个段落

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. JavaScript通过ID和name设置样式

    JavaScript通过ID和name设置样式 1.说明 (1)根据所提供的元素的id值,返回对该元素的引用或节点 document.getElementById("tr_th") ...

  8. 通过class和id获取DOM元素的区别

    1.通过id获取DOM元素的方法:document.getElementById("id名") 2.通过class获取DOM元素的方法:document.getElementsBy ...

  9. Jquery下控制backgroundPosition位置的问题/jquery查找data id相等的元素

    1:想通过控制backgroundPosition 来实现动态效果: $(this).animate({"background-positionY":-13},1); //但是火狐 ...

  10. 在jquery中怎么使用css类名和id来获取元素?

    在jquery中,你可以很容易的使用CSS类名和id类获取元素. 例如: 1.ID:#id $('#idA')——选择id为idA的所有元素,不管元素的标签名如何. $('div#idA')——选择i ...

随机推荐

  1. java开源网站

    1.http://www.java1234.com 2.http://www.2cto.com/Soft/

  2. HTML5 video 视频标签全属性详解

    现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE ...

  3. linux中执行命令权限不够怎样处理

    在linux中执行命令权限不够就要增加权限,先看遇到的情况 查看权限情况 那就赋予权限 执行命令

  4. shenyi 语录

    [讲师]沈逸(65480539) 2016-06-08 14:58:42   会centos 转redhat是分分钟的事 [讲师]沈逸(65480539) 2016-06-08 14:58:54 查看 ...

  5. Css3 - 动画旋转

    旋转1: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="U ...

  6. MemPool

    腾讯笔试题,设计内存池,alloc和free都是O(1). 和LRUCache类似,这里用了一个list表示可用的空间,用一个map来记录这块内存是否已分配,这样free的时候才可能O(1). cla ...

  7. redis 配置 linux

    附件 启动停止脚本 redis_6433: #/bin/sh #Configurations injected by install_server below.... EXEC=/usr/local/ ...

  8. iisNS 安装程序的思路

    1. 安装程序的目录和 frontEnd一个目录,通过判断是否存在 common/config/db.php 来验证是否已经安装过,如果已经安装过,该文件会自动生成 2.  如果没有安装过,则跳转到 ...

  9. git统计报告

    2016年10月30日--2016年11月9日

  10. Nvidia VertexTextureFetch Water

    http://http.download.nvidia.com/developer/SDK/Individual_Samples/samples.html http://http.download.n ...