2009-12-03 18 views

答えて

29

innerText(またはjQueryを使用している場合はtext())にはHTMLタグは含まれていません。あなたが含まれているdiv要素を持っていたのであれば:

View my <a href="profile.html">profile</a> 

innerText/text()は(dcneinerが指摘するように

View my profile 

html()ながらhtml()/text()は、jQueryのプロパティです

View my <a href="profile.html">profile</a> 

を返します返しますブラウザ間でサポートされていますが、innerTextはすべてのブラウザで実装されていません(ただし、i Internet Explorer、Safari、Chromeの最新バージョンで動作します)。

可能であれば、基本的にはtext()はinnerText以外のものを使用します。 text()がすばらしいものになる場合は、dcneiner's post(またはjQuery docs)を参照してください。

+5

「innerText」がIE専用のプロパティで、jQueryとは何の関係もないという意味ですか? :) –

+0

素晴らしい例クリス。 +1 –

+0

非常に良い点dcneiner、それを反映する更新された投稿:)。 –

11

違いはinnerTextはDOMオブジェクトのIE専用プロパティで、html()はjQueryオブジェクトの関数です。あなたはtext()html()を比較した場合

しかし、違いはtext()戻る前に、ストリップ要素の内容からすべてのHTMLとhtml()はHTMLが含まれて含まれていることです。

また、text()すべてマッチした要素のテキストを返しますし、それらを一緒に連結します。

<span>Hi, </span><span>how are </span><span>you?</span> 

$("span").text(); // returns: Hi, how are you? 

しかしhtml()は最初に一致した項目にinnerHTMLプロパティを返します。

$("span").html(); // returns: Hi, 

最後の一つクールなこと、それは.text()すべてのHTMLを自動エスケープする:

$("span:first").text('<a>Hi</a>'); // writes &lt;a&gt;Hi&lt;/a&gt; 
関連する問題