请教各位兄台怎么修改下面的Javascript代码以使其兼容FF正常运行,如同IE一样。 在ff 下 ,一个空格也看作一个节点 ,所以你这样操作嘛 ,肯定是不行了可以这样:先 if(obj.childNodes(i).nodeType != 3){//dosomething}就可以啦 ,偶觉得还好啦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>无标题文档</title><style type="text/css">.SortList4_Sort2_AllItem_class{ float:left; display:none;}</style><script language="javascript" type="text/javascript">function showsort1(obj) { for(var i=1;i<obj.childNodes.length;i++) { if(obj.childNodes[i].tagName) { if(obj.childNodes[i].tagName == "DIV") { if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue; obj.childNodes[i].style.display = "block"; obj.childNodes[i].style.position = "absolute"; obj.childNodes[i].style.top = (i*25)+"px"; obj.childNodes[i].style.left = (obj.offsetLeft+90)+"px"; } } } }function hiddensort1(obj){ for(var i=1;i<obj.childNodes.length;i++) { if(obj.childNodes[i].tagName) { if(obj.childNodes[i].tagName == "DIV") { if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue; obj.childNodes[i].style.display = "none"; } } }}</script></head><body><div id="SortList4_Sort1_Item_5" class="SortList4_Sort1_Item_Div" onmouseover="showsort1(this);" onmouseout="hiddensort1(this);"> <div id="SortList4_Sort1_Img_5" class="SortList4_Sort1_Img_Div"> <a href="/Pages/NewsSort.aspx?Sort1=6&Sort2=1" target="_parent" title="防火监督"><img src="../images/Sort/2007111512324.gif" alt="防火监督" /></a> </div><div id="SortList4_Sort2_AllItem_id_5" class="SortList4_Sort2_AllItem_class"> <div id="SortList4_Sort2_Item_5_0" class="SortList4_Sort2_Item_Div"> <div id="SortList4_Sort2_Titel_5_0" class="SortList4_Sort2_Titel_Div"> <ul> <li><a href="/Pages/NewsSort.aspx?Sort1=6&Sort2=1&Sort3=1" target="_parent" title="执法监督">执法监督</a></li> </ul> </div> </div> <div id="SortList4_Sort2_Item_5_1" class="SortList4_Sort2_Item_Div"> <div id="SortList4_Sort2_Titel_5_1" class="SortList4_Sort2_Titel_Div"> <ul> <li><a href="/Pages/NewsSort.aspx?Sort1=6&Sort2=2&Sort3=1" target="_parent" title="防火检查">防火检查</a></li> </ul> </div> </div> </div> </div></body></html> 在ff 下 ,一个空格也看作一个节点 ,所以你这样操作嘛 ,肯定是不行了 ==============================================================if(obj.childNodes[i].tagName) { if(obj.childNodes[i].tagName == "DIV") 这里已经过滤掉了空节点 兄台加了这句if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue; 对于我的程序来说是不行的因为我给出的只是一段代码而已不可能每个都要对id进行判断“SortList4_Sort1_Img_5” 用了tantaiyizu兄台的方法if(obj.childNodes(i).nodeType == 1)或者if(obj.childNodes(i).nodeType != 3)至少在FF中子菜单不会全都消失。obj.childNodes(i).nodeType 和obj.childNodes[i].nodeType 区别还是很大的 用了tantaiyizu兄台的方法 if(obj.childNodes(i).nodeType == 1)或者if(obj.childNodes(i).nodeType != 3) 至少在FF中子菜单不会全都消失。 obj.childNodes(i).nodeType 和obj.childNodes[i].nodeType 区别还是很大的FF好像不认obj.childNodes(i)吧,对数据访问的时候FF的标准应该是中括号。所以只好反其道而行之做一个不兼容FF的,不能实现可能也不造成其它错误 1:Element;2:Attribute;3:Text; 如何用jquery实现异步刷新 拖动层问题~拖动效果已经搞定,但是按快了就出案子!(jQ) form的action里添加javascript,如何传递form的引用? 循环设置onclick时,怎样获取当前的序号? 如何利用联合数组向列表添加元素的呢?~` 关于移动表格行的问题 jquery 读取xml文件时遇到的问题。 history.back(-1)的困惑 高手帮忙,关于JS文本框,谢谢 为什么我不能更改表格背景颜色? 一直搞不懂,老是忘记问:offsetParent,parentNode,parentElement 区别 【共享】刚刚做的一个 JS简单时间控件【JS时分秒时间控件】
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<style type="text/css">
.SortList4_Sort2_AllItem_class{ float:left; display:none;}
</style>
<script language="javascript" type="text/javascript">
function showsort1(obj)
{
for(var i=1;i<obj.childNodes.length;i++)
{
if(obj.childNodes[i].tagName)
{
if(obj.childNodes[i].tagName == "DIV")
{
if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue;
obj.childNodes[i].style.display = "block";
obj.childNodes[i].style.position = "absolute";
obj.childNodes[i].style.top = (i*25)+"px";
obj.childNodes[i].style.left = (obj.offsetLeft+90)+"px";
}
}
}
}
function hiddensort1(obj)
{ for(var i=1;i<obj.childNodes.length;i++)
{
if(obj.childNodes[i].tagName)
{
if(obj.childNodes[i].tagName == "DIV")
{
if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue;
obj.childNodes[i].style.display = "none";
}
}
}}
</script>
</head><body>
<div id="SortList4_Sort1_Item_5" class="SortList4_Sort1_Item_Div" onmouseover="showsort1(this);" onmouseout="hiddensort1(this);">
<div id="SortList4_Sort1_Img_5" class="SortList4_Sort1_Img_Div">
<a href="/Pages/NewsSort.aspx?Sort1=6&Sort2=1" target="_parent" title="防火监督"><img src="../images/Sort/2007111512324.gif" alt="防火监督" /></a>
</div><div id="SortList4_Sort2_AllItem_id_5" class="SortList4_Sort2_AllItem_class">
<div id="SortList4_Sort2_Item_5_0" class="SortList4_Sort2_Item_Div">
<div id="SortList4_Sort2_Titel_5_0" class="SortList4_Sort2_Titel_Div">
<ul>
<li><a href="/Pages/NewsSort.aspx?Sort1=6&Sort2=1&Sort3=1" target="_parent" title="执法监督">执法监督</a></li>
</ul>
</div>
</div>
<div id="SortList4_Sort2_Item_5_1" class="SortList4_Sort2_Item_Div">
<div id="SortList4_Sort2_Titel_5_1" class="SortList4_Sort2_Titel_Div">
<ul>
<li><a href="/Pages/NewsSort.aspx?Sort1=6&Sort2=2&Sort3=1" target="_parent" title="防火检查">防火检查</a></li>
</ul>
</div>
</div> </div>
</div>
</body>
</html>
==============================================================
if(obj.childNodes[i].tagName)
{
if(obj.childNodes[i].tagName == "DIV") 这里已经过滤掉了空节点
if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue;
对于我的程序来说是不行的
因为我给出的只是一段代码而已
不可能每个都要对id进行判断
“SortList4_Sort1_Img_5”
if(obj.childNodes(i).nodeType == 1)或者if(obj.childNodes(i).nodeType != 3)
至少在FF中子菜单不会全都消失。
obj.childNodes(i).nodeType 和obj.childNodes[i].nodeType
区别还是很大的
if(obj.childNodes(i).nodeType == 1)或者if(obj.childNodes(i).nodeType != 3)
至少在FF中子菜单不会全都消失。
obj.childNodes(i).nodeType 和obj.childNodes[i].nodeType
区别还是很大的
FF好像不认obj.childNodes(i)吧,对数据访问的时候FF的标准应该是中括号。
所以只好反其道而行之
做一个不兼容FF的,不能实现可能也不造成其它错误
2:Attribute;
3:Text;