Maison >interface Web >tutoriel HTML >【江湖百晓生】我写的js代码,在火狐下不兼容,跪求兼容方法很简单的问题_html/css_WEB-ITnose
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")