原型IE,Firefox,Chrome的区别

时间:2010-11-10 10:12:33

标签: javascript html prototypejs

亲爱的,我在这里有以下脚本(不要责怪我,我根本不懂javascript)

$$('#status').each(function(item) { 

 var state = item.innerHTML

 if (state == "ON_GOING"){
  item.replace('<img src="layout/images/ongo.png"/>'); 
 }
 if (state == "PAUSED"){
  item.replace('<img src="layout/images/pause.png"/>');
 }
});

存储在文档的底部。我还试图让它'命名'并从'body'标签的'onload'参数调用,以及'window.onload ='语句。 但它只能在Firefox中正确显示,但不能在IE或Chrome中正确显示。 在Prototype文档中,据说它是为所有这些浏览器设计的,但是我仍然遇到问题,你能不能告诉我这段代码有什么问题,我应该如何让它成功(更新'status'id in页面加载后的HTML。)

所以基本上我想用块替换图像中的初始文本,但它没有发生。

提前致谢。

1 个答案:

答案 0 :(得分:2)

对于字符串周围的空格,可能存在浏览器差异。尝试剥离返回的HTML:

item.innerHTML.replace(/^\s*(.*?)\s*$/,'$1')

更新

您正在寻找此选择器:$$('#status')这意味着您正在寻找ID为status的多个对象。我不认为这应该有效。 Dom Id意味着独一无二。我认为您应该使用CSS类,并将选择器更改为$$('.status')