<div id="mydiv">
<p>
<b><a href="mypage.html">This is an example<a>.</b>
<br>
This is another example.
</p>
</div>
<script type="text/javascript">
var mystr = document.getElementById('mydiv').innerHTML;
.....
</script>
我想清除所有标签,并获取盐文本,
mystr = "This is an example this is another example.";
我该怎么做?
答案 0 :(得分:10)
使用innerText
和textContent
:
var element = document.getElementById('mydiv');
var mystr = element.innerText || element.textContent;
innerText
,但FF textContent
我刚看到字符串仍然包含换行符。您可能希望使用replace
删除它们:
mystr = mystr.replace(/\n/g, "");
<强>更新强>
正如@Šime Vidas在他的评论中指出的那样,似乎你必须处理白色空格有点不同以修复IE中的字符串:
mystr = mystr.replace(/\s+/g, ' ');
答案 1 :(得分:2)
这是一种不同的方法 - 使用带有正则表达式的替换删除标记:
document.getElementById('mydiv').innerHTML.replace(/\n|<.*?>/g,'')
这是fiddle
答案 2 :(得分:1)
尝试:
document.getElementById('mydiv').innerText || document.getElementById('mydiv').textContent;
答案 3 :(得分:0)
您可以遍历所有孩子并从中查看.innerText
。然后,您可以轻松地连接每个孩子的文本,并获得没有标签的所有文本。