3

私は、harvethq によって選択された jquery.chosen を少し調整しようとしています (この行に出会ったとき、彼のプラグインを軽く編集していました)

searchText = this.search_field.val() === this.default_text ? "" : $('<div/>').text($.trim(this.search_field.val())).html();

最後の部分を特別に何をしているのかわかりません

$('<div/>')

私には意味がありません。

search_field に入力された文字を変換または保護する方法だと思いますが、以前はこのようなものは見つかりませんでした。

誰かがそれを説明できますか?

4

2 に答える 2

4
$('<div/>')

ドキュメントの一部ではない新しい div を作成します。

$('<div/>').text(
  $.trim(this.search_field.val())
).html()

新しい div のコンテンツを検索フィールドの値にテキストとして設定し、それを HTML として読み取ります。これにより、効果的に値が HTML エスケープされます。$.trim検索文字列の末尾から空白のみを削除します。

さらに続ける:

this.search_field.val() === this.default_text ? "" : ...

検索フィールドの値がデフォルトのテキストの場合は空の文字列を使用し、それ以外の場合は HTML エスケープされた検索文字列を使用します。

searchText = ...

それを変数に代入するだけです。

于 2012-12-05T12:37:25.683 に答える
1

$('<div/>')新しい<div></div>要素を作成するだけで、harvestq が検索クエリを入力すると、次のようになります。

<div>Your search Query</div>

ドキュメントでjQueryの要素作成について読むことができます

于 2012-12-05T12:37:42.293 に答える