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

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

时间:2021-07-01 10:21:17 帮助过:32人阅读

var myDate=new Date();	var day=myDate.getDate();	for(var i=0;i<=34;i++){				if(myli[i].getElementsByTagName("a").item(0).innerHTML==day)				{myli[i].getElementsByTagName("a").item(0).style.backgroundColor="yellow";}				if(myli[i].getElementsByTagName("ul").length > 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<=34;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<=34;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")

人气教程排行