怪!JS在FireFox执行对,在IE执行错
我有一个节目的分类,在页面中循环取出,循环大致如下:
<?
while($Sort = $db->db_fetch_array()){
echo "<tr>" .
"<td width=109 name='sort' id='".$Sort["SORT_ID"]."'>".
"<a href=# onclick=changeSortBgColor(".$Sort["SORT_ID"].")>".$Sort["SORT_NAME"]<a>".
"</td>" .
"</tr>";
}
?>
点击分类,将选中分类的背景色调整为#E9F4FC,未选中的为无色,以JS实现
JS如下:
<script language="javascript">
function changeSortBgColor(sortId){
var sort = document.getElementsByName("sort");
for(var i = 0; i < sort.length; i++){
sort[i].bgColor = "";
}
var checkedSort = document.getElementById(sortId);
sort.bgColor = "#E9F4FC";
}
</script>
该功能在FireFox下正常执行,但在IE6下,在JS中alert(sort.length);每次得到都是0,导致页面上被点过的分类背景色全变为#E9F4FC,请各位帮忙解决一下,不胜感激!
------解决方案--------------------
td 没name属性
------解决方案--------------------
楼上正解 ,建议获取到 table 后 ,再去遍历吧