欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

【江湖百晓生】我写的js代码,在火狐下不兼容,跪求兼容方法很简单的问题_html/css_WEB-ITnose

程序员文章站 2022-06-12 09:54:37
...
var myDate=new Date();	var day=myDate.getDate();	for(var i=0;i 0){					myli[i].getElementsByTagName("a").item(0).style.backgroundColor="red";					myli[i].getElementsByTagName("a").item(0).bgColor="red";				}			}		}
这只是部分代码,我现在实现了的效果是myli[i].getElementsByTagName("a").item(0).style.backgroundColor="red";在IE下已经实现了,现在我想在火狐下也实现这个效果,发现不识别myli[i].getElementsByTagName("a").item(0).bgColor="red";这句话是我改了试的,发现也不行,急用,在线等指点,解决后立马结贴!!!!


回复讨论(解决方案)

red改成具体的颜色#ff0000; 试试

myli[i].getElementsByTagName("a").item(0)改成
myli[i].getElementsByTagName("a")[0]

不行啊,亲 red改成具体的颜色#ff0000; 试试

也不行啊,大侠。。。 ?。。。。 myli[i].getElementsByTagName("a").item(0)改成
myli[i].getElementsByTagName("a")[0]

JScript code
var myDate=new Date();
var day=myDate.getDate();
for(var i=0;i if(myli[i].getElementsByTagName("a").item(0).innerHTML==day)
{myli[i].get……

if(myli[i].getElementsByTagName("a").item(0).innerHTML==day innerHTML 与innerTEXT 这是IE才用的不是标准的dom属性

myli[i].getElementsByTagName("a").item(0)改成
myli[i].getElementsByTagName("a")[0]
试试这个

大哥,那个在火狐下是好好的。。。。。我现在的问题是下面的改变颜色的问题。。。。?。。。 引用楼主 len19900623 的回复:
JScript code
var myDate=new Date();
var day=myDate.getDate();
for(var i=0;i if(myli[i].getElementsByTagName("a").item(0).innerHTML==day)
{myli[i].get……

……

没用的。。。。。我早就试过了。。。5555555555555555555555555 引用 2 楼 hookee 的回复:

myli[i].getElementsByTagName("a").item(0)改成
myli[i].getElementsByTagName("a")[0]

试试这个

myli[i].getElementsByTagName("a").item(0).style.dispaly="block";
前面加这个试试。。

都给你说了 那个innerHTML与innerTEXT火狐是认不到的 这两个属性只有IE才认 上面的if根本就都不成立了

换句话说就是js都错了 下面的不关你是不是对的 都不会执行的!哎呀!你改成用jquery来取你要的东西 估计就可以了!

if(myli[i].getElementsByTagName("a").item(0).innerHTML==day)
{myli[i].getElementsByTagName("a").item(0).style.backgroundColor="yellow";}
大哥,这句话是执行成功的,在火狐下,我现在知道我下面的颜色为什么改不了了,是因为火狐不认myli[i].getElementsByTagName("ul").length 这句话,不管我下面有没有ul,他的长度都是0! 都给你说了 那个innerHTML与innerTEXT火狐是认不到的 这两个属性只有IE才认 上面的if根本就都不成立了

换句话说就是js都错了 下面的不关你是不是对的 都不会执行的!哎呀!你改成用jquery来取你要的东西 估计就可以了!

不好使。。。火狐不认myli[i].getElementsByTagName("ul").length 这句话,不管下面有没有ul,他都长度为0,有好的解决方法没?? myli[i].getElementsByTagName("a").item(0).style.dispaly="block";
前面加这个试试。。

我知道怎么回事了,我的代码是没有错误的,火狐也识别,只不过由于我页面还有定义的跟其他有关的最大的ul的样式,那个ul也被其他的JS文件控制着,所以火狐就2了,IE没2,那个样式一改,就好了,哈哈哈哈哈哈哈哈哈哈哈哈

听的有点云里雾里的,还是直接使用jquery吧,头都看大了,用原始javascript增加了很大工作量,而且还要考虑若myli[..]里没有a标签的话,就杯具了,会报错,因为获取不到getElementsByTagName("a")