>  기사  >  웹 프론트엔드  >  【江湖百晓生】我写的js代码,在火狐下不兼容,跪求兼容方法很简单的问题_html/css_WEB-ITnose

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

WBOY
WBOY원래의
2016-06-24 12:08:411272검색

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                 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")

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.