每一个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. easyui datagrid分页要点总结

    easyui的datagird插件比较好用,也很方便.网上也有很多热的网友贴出了使用代码,但是很少有网友指出在使用过程应该注意的地方,让我实在搞不清分页应该怎么使用.我就说下使用分页功能中要注意的一个 ...

  2. PHPUnit在Windows下的配置及使用

    由于我们项目涉及到php,因此需要对php代码进行单元测试.经过一番了解,决定用PHPUnit来测试php.PHPUnit花了不少时间摸索如何配置PHPUnit,看官网的文档也是一把泪.但知道怎么配置 ...

  3. HOWTO:制作 Windows 7 加速部署映像(作者:苏繁)

    加速部署映像 - 也就是我们通常说的系统模板,通常我们为了提高 Windows 的安装速度,会事先制作一套包含驱动.应用软件.补丁程序以及自定义设置的标准化系统.这样我们在使用该加速部署映像完成安装后 ...

  4. HDU 1069 Monkey and Banana(二维偏序LIS的应用)

    ---恢复内容开始--- Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  5. NBUT 1186 Get the Width(DFS求树的宽度,水题)

    [1186] Get the Width 时间限制: 1000 ms 内存限制: 65535 K 问题描述 It's an easy problem. I will give you a binary ...

  6. 前端CSS参考阅读

    CSS 2.2 W3标准 http://dev.w3.org/csswg/css2/ CSS2 中文翻译 http://files.cnblogs.com/files/mize/CSS2_Chines ...

  7. CodeForces 621C 数学概率期望计算

    昨天训练赛的题..比划了好久才想出来什么意思 之前想的是暴力for循环求出来然后储存数组 后来又想了想 自己萌的可以.. 思路就是求出来每个人与他的右边的人在一起能拿钱的概率(V(或)的关系)然后*2 ...

  8. [办公自动化]如何对Excel表格顶部设计

    领导有一个excel要完成如下功能:顶部要包含企业LOGO,还要包含设计图号.版次等表格,还要包含类似“第  页 of  页” 总体思路: 1.利用顶端标题行完成除了页码以外的所有事情:(当然也可以利 ...

  9. Nginx 笔记与总结(4)配置 server 访问日志

    打开 nginx.conf: [root@localhost ~]# cd /usr/local/nginx/conf [root@localhost conf]# vim nginx.conf 在默 ...

  10. wordpress 自定义面板显示不了挂件区问题

    刚才在写一个wordpress主题,遇到一个问题.注册好的挂件区在控制面板(dashboard)上显示,在自定义面板上却不显示. 查询了下,发现几个老外朋友也遇到了这个问题: http://wordp ...