【问题标题】:innerText not working in Firefox [duplicate]innerText 在 Firefox 中不起作用 [重复]
【发布时间】:2012-10-05 06:23:08
【问题描述】:

这是我的代码:

<div id="code">My program<br />It is here!</div>
<script type="text/javascript">
var program=document.getElementById('code');
ShowLMCButton(program.innerText);
</script>

它在 IE 中有效,但在 Firefox 中,innerText 不起作用。如何在 Firefox 中使用它?我试过 .text() 但它不想工作! 我需要文本格式为“我的程序\n 就在这里!”

这是从网站复制一个 VB 脚本并将其直接粘贴到程序中,它必须包含所有新行等。

【问题讨论】:

标签: javascript jquery internet-explorer firefox innertext


【解决方案1】:

您使用了标签,所以我假设您使用的是jQuery。因此,您必须引用 jQuery 对象而不是 HTMLObject

<div id="code">My program<br />It is here!</div>
<script type="text/javascript">
    var program = $('#code');
    ShowLMCButton(program.text());
</script>

【讨论】:

  • 我需要它来做“漂亮的打印”,而这不需要
  • @JoshLukeBlease “漂亮的印刷品” - 你能澄清一下吗?
【解决方案2】:

您可以检查浏览器的功能支持以相应地使用正确的属性。

var program=document.getElementById('code');
if(document.all){
     ShowLMCButton(program.innerText);
} else{
     ShowLMCButton(program.textContent);
}

document.all 将基本上确定浏览器是否为 IE(Microsoft 对 W3C 标准的扩展)

【讨论】:

【解决方案3】:

如您所说,FireFox 不支持innerText。 我发现 innerHTML 可以很好地解决这个问题。

来自: document.getElementById('').innerText 到: document.getElementById('').innerHTML

【讨论】:

    【解决方案4】:

    innerText 在 firefox 中不起作用。如果可以,请使用 innerHTML。如果不能,您可以使用 textContent 。你应该这样做,同时使用 firefox 和 IE:

    ShowLMCButton(program.innerText||program.textContent);
    

    【讨论】:

    • 这将给出附加的结果 chrome,这两个属性都可以工作..
    • @logan 当你使用 ' || ' 如果第一个属性(或其他任何东西)可用,则使用该属性,如果不可用,则使用第二个属性;因此这没有任何问题。我在这里测试了一个代码:link ;)
    • 你为什么不给我一票?
    • 你不能问投反对票的人,因为它是未知的..
    • 我没有问谁,我问为什么;如果这里有任何问题,最好让我知道。我通常使用这种方法。
    【解决方案5】:

    使用textContent,它也可以在 Firefox 和 IE 中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-05
      • 2013-08-18
      • 2011-10-20
      • 2012-09-20
      • 2012-07-11
      • 2018-10-01
      • 1970-01-01
      • 2011-11-19
      相关资源
      最近更新 更多