【问题标题】:`innerText` undefined in Mozilla Firefox [duplicate]Mozilla Firefox中未定义的`innerText` [重复]
【发布时间】:2012-09-20 23:37:18
【问题描述】:

我正在http://forkinthecode.net/budget/2012-2013.php 建立一个站点

我编写了一个脚本,它在地址栏中打开一个带有 Google 搜索 URL 的窗口,用于 MySQL 数据库中每个表上的投资组合、程序、代理和目标。

此脚本在 Chrome、Safari、IE 和 Opera 中有效,但在我的机器上,当使用 Mozilla Firefox 时,该变量显示为“未定义”。

我浏览了网络并没有找到任何关于此的内容。

<script type="text/javascript">//<![CDATA[ 

function getPortNews() 
{   
    portfolio = document.getElementById('portfolio').innerText;
    static_url = ('http://google.com.au/search?q=');

    search_url = ( static_url + portfolio );
    window.open(search_url);

        }
        //]]></script>

我是 JavaScript 新手,请注意,相关网站及其背后的数据库已完成约 75%。

【问题讨论】:

  • innerText 更改为textContent。或者,如果你真的想支持旧的IE浏览器document.getElementById('portfolio')[document.textContent === null ? 'textContent' : 'innerText']

标签: javascript firefox undefined


【解决方案1】:

下载 jQuery 并使用:

text() or html()

或者,如果您坚持使用 vanilla js,请使用 innerHTML。它得到了广泛的支持。但是,如果在结果中获取 html-tags 对您来说是个问题,您应该使用上面 Rob W 的解决方案,它只返回实际文本。

【讨论】:

  • 对于这么小的苍蝇来说,jQuery 是一把强大的大锤
  • 感谢杰里米和丹尼尔。我确实希望我的解决方案与我要解决的问题有一定的比例:-)
【解决方案2】:

标准中没有innerText 属性,这就是你的问题。

【讨论】:

  • 感谢您的建议。 textContext 似乎适用于大多数脚本。我仍在调试最后一个目标。
  • 通过将变量和事件处理程序名称从 Objective 更改为 Scheme,让它在最后一个脚本上工作。
  • @user1707962 你的意思是Node.textContent 不是textContext
猜你喜欢
  • 2012-05-12
  • 2011-08-26
  • 2012-10-05
  • 2012-10-05
  • 1970-01-01
  • 2011-11-19
  • 2013-06-08
  • 2016-03-30
  • 1970-01-01
相关资源
最近更新 更多