删除后只留下文本,加倍中断

时间:2011-01-16 03:05:51

标签: javascript html text line-breaks

执行以下操作后:

var noTags = document.createElement("DIV");
noTags.innerHTML = html;
noTags.textContent // <- I put this into any textarea

和本文:

text test <br><br> this text

转入本文:

text test 


this text

有些我如何获得额外休息。而且每次我执行上述javascript时他们都会继续加入。请帮忙: - (

2 个答案:

答案 0 :(得分:3)

当您将html分配给innerHTML属性时,浏览器将根据为该页面设置的DOCTYPE来解释该字符串。您将受到浏览器为该DOCTYPE实现的解析器和浏览器实现所述标准的支配;换句话说,“你将保证在不同的浏览器上获得不同的结果”。

据说每个浏览器都会略微区别地解释以下HTML。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Testing textcontent</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" >
</head>
<body>

<form action="">
<textarea id="onlyText" rows="5" cols="40"></textarea>
<script type="text/javascript">
/*<![CDATA[*//*---->*/
var html = "text text <br><br> text";
var noTags = document.createElement("DIV");
noTags.innerHTML = html;

// Retrieve text from html
var textContent = "";
var oe = document.getElementById("onlyText");

if (oe.innerText == undefined) {
    textContent = noTags.textContent;
} else {
    textContent = noTags.innerText;
}

alert("DEBUG: textContent = " + textContent);


oe.innerHTML = textContent;

/*--*//*]]>*/
</script>
</form>

</body>
</html>

欢迎来到互联网。您的代码会有所不同。

答案 1 :(得分:0)

你有两个休息时间,为什么你不期望有两条线?

休息通常也作为单个封闭标签完成。 <br/>代替<br>