日期:2014-05-16  浏览次数:20402 次

JS浏览器兼容的小问题,鼠标经过,,高亮显示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档 </title>
<script type="text/javascript">
// 取标签名相同的父对象
function GetParentElement(obj, tag){
while(obj!=null && obj.tagName!=tag)
obj=obj.parentNode;
return obj;
}

function changeColor(evt){
evt = evt ? evt : window.event;
var el = evt.target ? evt.target : evt.srcElement;
var tabElement=null;
while (true){
el=GetParentElement(el, "TR")
if (el){
tabElement=GetParentElement(el, "TABLE");
if (tabElement!=null && tabElement.className.toUpperCase()=="LIST"){
break;
}
el=tabElement;
}else{
return;
}
}
for (var i=0;i <el.children.length;i++){
if (el.children[i].tagName=="TD"){
el.children[i].style.backgroundColor="#0099FF";
}
}
}

function revertColor(evt){
evt = evt ? evt : window.event;
var el = evt.target ? evt.target : evt.srcElement;
var tabElement=null;
while (true){
el=GetParentElement(el, "TR")
if (el){
tabElement=GetParentElement(el, "TABLE");
if (tabElement!=null && tabElement.className.toUpperCase()=="LIST"){
break;
}
el=tabElement;
}else{
return;
}
}
for (var i=0;i <el.children.length;i++){
if (el.children[i].tagName=="TD"){
el.children[i].style.backgroundColor="";
}
}
}
document.onmouseover= changeColor;
document.onmouseout = revertColor;
</script>
</head>

<body>
<table width="700" border="1" class="list">
<tr>
<th>&nbsp; </th>
<th>标题 </th>
</tr>
<tr>
<td>aaaaa </td>
<td>1111111111111111111111 </td>
</tr>
<tr>
<td>bbbbb </td>
<td>22222222222222222222 </td>
</tr>
<tr>
<td>ccccccc </td>
<td>33333333333333333333333333 </td>
</tr>
</table>
</body>
</html>
IE 可以 火狐不可以 请问是那个属性或方法不受支持呢?

答案:children是IE专有的
请用childNodes
你把所有的children 改成childNodes,就搞定了!