Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移除后的双断口<;br>;只留下文字_Javascript_Html_Text_Line Breaks - Fatal编程技术网

Javascript 移除后的双断口<;br>;只留下文字

Javascript 移除后的双断口<;br>;只留下文字,javascript,html,text,line-breaks,Javascript,Html,Text,Line Breaks,在我执行以下操作之后: var noTags = document.createElement("DIV"); noTags.innerHTML = html; noTags.textContent // <- I put this into any textarea 我是如何得到额外休息的。每次我做上面的javascript时,他们都会继续提交。请帮助:-(你有两个休息,为什么你不希望有两行呢 中断通常也作为单个闭合标记来完成。而不是当您将html分配给innerHTML属性时,浏览器

在我执行以下操作之后:

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

我是如何得到额外休息的。每次我做上面的javascript时,他们都会继续提交。请帮助:-(

你有两个休息,为什么你不希望有两行呢


中断通常也作为单个闭合标记来完成。

而不是

当您将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>

测试文本内容
/**/
var html=“text text

text”; var noTags=document.createElement(“DIV”); noTags.innerHTML=html; //从html检索文本 var textContent=“”; var oe=document.getElementById(“onlyText”); 如果(oe.innerText==未定义){ textContent=noTags.textContent; }否则{ textContent=noTags.innerText; } 警报(“调试:textContent=“+textContent”); oe.innerHTML=文本内容; /*--*//*]]>*/

欢迎访问interwebs。您的代码会有所不同。

我无法复制我。@Cybernate请尝试下面我的答案中的HTML。我也无法准确复制,但在IE7和Firefox 3.6.xIn XHTML中得到了不同的结果,必须使用

(或


,但这很愚蠢;-).但在HTML中,

没有结束标记。请参阅@Dan Breslau是正确的。OP注意到文本输出中有一个额外的换行符,他无法解释。
text test 


this text
<!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>