2012-09-29 59 views
2

我在http://forkinthecode.net/budget/2012-2013.php`innerText`未定义在Mozilla Firefox

建立一个网站,我已经写在了投资组合,方案,机构和各目标地址栏谷歌搜索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%。

+1

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

回答

3

无论是下载jQuery和使用:

text() or html() 

,或者如果你坚持用香草JS,使用innerHTML。它有广泛的支持。但是,如果在结果中获得html标签对您来说是个问题,那么您应该使用Rob W的上述解决方案,该解决方案仅返回实际文本。

+4

jQuery对于这样的小苍蝇来说是一个威武的大锤子 –

+0

谢谢Jeremy&Daniel。我确实喜欢我的解决方案,以解决我试图解决的问题:-) – user1707962

1

标准中没有innerText属性,这是什么让你咬。

+1

感谢您的建议。 textContext似乎适用于大多数脚本。我仍在调试最后一个目标。 – user1707962

+0

通过将变量&事件处理程序名称从“目标”更改为“方案”,可以将其应用于最后一个脚本。 – user1707962

+0

@ user1707962你的意思是[Node.textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent)not textContext –