を出た後に休憩を倍増します余分な休憩を取る。そして、私は上記のjavascriptを実行するたびに来ています。 、なぜあなたは二行?は<br>を削除し、テキストだけ
ブレークは通常、あまりにも、一つの閉じタグとして行われます。<br/>
の代わり<br>
があると期待していないあなたがそこに2つのブレークを持って
を出た後に休憩を倍増します余分な休憩を取る。そして、私は上記のjavascriptを実行するたびに来ています。 、なぜあなたは二行?は<br>を削除し、テキストだけ
ブレークは通常、あまりにも、一つの閉じタグとして行われます。<br/>
の代わり<br>
があると期待していないあなたがそこに2つのブレークを持って
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>
ようこそinterwebs。コードは異なります。
:-(助けてください。
XHTMLでは、「
」(または「
」を使用する必要がありますが、それは愚かです;-)。しかし、HTMLでは '
'に終了タグはありません。 http://www.w3.org/TR/html401/struct/text.html#h-9.3.2.1 –
@Dan Breslauを参照してください。 OPは彼が説明できなかったテキスト出力でEXTRA改行に気づいていました。 –
あなたは正しいです - 私は誤解しました。ごめんなさい。 – MikeTheReader
私は複製できません。.. http://jsfiddle.net/GFyuP/ – Chandu
@Cybernate下記の私の答えでHTMLを試してください。私も正確には複製できませんでしたが、IE7とFirefox 3.6.xの別の結果が得られました。 –