没有html的innerHTML,只是文本

时间:2012-03-15 19:50:39

标签: javascript html innerhtml

我创建了一个电子邮件链接,可以自动填充正文中的必要信息。但是,当我这样做时,我会得到比我讨价还价更多的东西。

我想要“2012年3月:12-16”

我得到的是什么<B>March, 2012</B>: <FONT color=blue>12</FONT> - <FONT color=blue>16</FONT>

有没有办法在没有html标签的情况下获取innerHTML?

.value = undefined
.text = undefined

3 个答案:

答案 0 :(得分:35)

除了较旧的IE,你需要.textContent,IE(&lt; 9)中需要.innerText

所以,试试:

string = (node.textContent===undefined) ? node.innerText : node.textContent;

编辑:或者,只需使用GGG更清晰string = (node.innerText || node.textContent),因为undefined是假的。

答案 1 :(得分:4)

在支持该标准的浏览器中,您可以使用textContent代替innerHTML。否则,您可以循环遍历下一个节点并连接它们,或者使用像jQuery这样的库为您抽象这种方法。

答案 2 :(得分:2)

如果您已经在使用jQuery,则可以使用.text():

http://jsfiddle.net/vkgYR/

如果你没有使用它,你应该只使用其他注释,因为仅仅为.text()方法加载所有jQuery是愚蠢的