页面上的 Javascript 修改未反射(reflect)在 IE 中

标签 javascript internet-explorer dom

我使用JavaScript修改了页面上的某些样式,然后提醒修改后的样式。在 IE v7 中,虽然警报消息显示已进行更改,但页面的视觉呈现没有任何差异。然而相同的代码在 FF 中运行良好。原因可能是什么?我注意到的另一件事是,当我使用开发人员工具栏的脚本控制台时,我能够获得预期的结果,但当我将 js 放入脚本标记中时却无法获得预期的结果。

示例代码 -

function change()    
{  
  var text=document.getElementsByTagName("h2");  
  var i=0;  
  var p=text[0];  
  while(p)    
  {  
    alert(p.style.cssText);   
    p.style.cssText="color:#565656;";    
    p.innerHTML="Changed";    
    alert(p.parentNode.innerHTML);    
    i++;    
    p=text[i];    
  }    
}   

这只是简单地放入脚本标记中并放入正文中以进行测试。尽管稍后的 JavaScript 警报显示了更改,但对 innerHTML 或样式所做的更改不会反射(reflect)在 IE 浏览器窗口中。

最佳答案

不要以这种方式更改样式,而是直接设置“color”属性:

  p.style.color = '#565656';

关于页面上的 Javascript 修改未反射(reflect)在 IE 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6650317/

相关文章:

javascript - Backbone 中的比较器在添加新模型时需要排序调用吗?

javascript - AngularJS:仅当他们单击价格标签按价格排序时,我如何显示 "^ "箭头

javascript - 如何识别onbeforeunload是点击关闭按钮引起的

javascript - 如何与 WebSharper 交互和设置 DOM 属性?

html - 我怎样才能得到一个元素的位置编号?

javascript - 如果选中复选框,如何更改我的 div 的颜色?

javascript - 为什么 document.activeElement 在 Mac 上使用 Firefox 会产生不同的结果

jquery - JCrop 的 IE 问题

xml - 不同的 IE XML/XSL 行为在相同的 View 和浏览器版本中,但具有不同的域用户帐户

javascript - 有没有一种简单的方法来确定 HTML 元素的内容类别?