8

私が投稿した(そして回答された)この質問で、テキストボックスの値をラベルの値に適切に割り当てる方法を見つけました。答えは、どちらかを使用することでした

$('#txtBranchName').val($('#lblBranchName').html());

また

$('#txtBranchName').val($('#lblBranchName').text());

一方が他方よりも好ましいですか?パフォーマンスの違いはありますか、または特定の状況で一方の方法は機能しませんが、もう一方の方法は機能しますか?

4

3 に答える 3

21

設定データ

.text("<b>Test</b>")HTMLタグをエスケープします(レンダリング<b>Test</b>

.html("<b>Test</b>")それらを実際の HTML 要素としてレンダリングします (レンダリングTest )。

データの読み取り

.text()テキストノードのみを返します(タグを削除)

.html()タグを含む実際の HTML 文字列を返します。


これは、両方の方法の違いを示すJSFiddleです。

于 2013-01-24T15:24:23.723 に答える
5

ラベルの HTML の子要素がない場合は、どちらの方法でも同じですが、(赤い「必須」マークなど) がある.text()場合は、HTML がそれを生成するのではなく、そのマークを取得するだけでよいので、使用することをお勧めします。 .

于 2013-01-24T15:25:22.340 に答える
5

参照: jQuery: text() と html() の違いは何ですか? エスケープされた <および> 文字を使用した .text() と .html() の違い

実際には両方とも多少似ていますが、使用方法や達成したい意図によって大きく異なります。

使用する場所:

  • .html() を使用して、html 要素を持つコンテナーを操作します。
  • .text() を使用して、通常は個別の開始タグと終了タグを持つ要素のテキストを変更します

jQuery.html()文字列を HTML としてjQuery.text()扱い、コンテンツをテキストとして扱います。

.html() メソッドとは異なり、.text() は XML ドキュメントと HTML ドキュメントの両方で使用できます。.text() メソッドの結果は、一致したすべての要素の結合テキストを含む文字列です。(ブラウザごとに HTML パーサーが異なるため、返されるテキストの改行やその他の空白が異なる場合があります。)

于 2013-01-24T15:26:11.563 に答える