以下正则表达式应该替换div中的所有标记。但是,Chrome浏览器中的字符串按预期返回“123”,而在Firefox中返回“”> 123“。
<html>
<body>
<div><img src="" alt="Test >"> 123</div>
<script type="text/javascript">
var string = document.getElementsByTagName('div')[0].innerHTML;
string = String(string).replace(/(<([^>]+)>)/,"");
console.log('String: ' + string);
</script>
</body>
</html>
我知道这是“大于”的实体,使得Firefox的行为不同,但为什么它们会产生不同的结果呢?
答案 0 :(得分:1)
你应该从不使用正则表达式来完成这类任务。而是使用JavaScript DOM功能:
document.getElementsByTagName('div')[0].textContent.trim()