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>