0

では、var $movingjavascriptオブジェクトを作成していますよね?しかし、何$('<li/>')ですか?それはhtml要素でさえありません。

また、オフセット値は$this要素の値を表しますか?それで、この要素の場合#slidingMenu li:first

var $menu = $("#slidingMenu");
var $selected = $menu.find('li:first');
var $moving   = $('<li/>',{
    className : 'move',
    top       : $selected[0].offsetTop + 'px',
    width     : $selected[0].offsetWidth + 'px'
});
4

4 に答える 4

2

では、var $movingjavascriptオブジェクトを作成していますよね?

いいえ、オブジェクトを指すJavaScript変数を宣言しています。

しかし、何$('<li/>')ですか?それはhtml要素でさえありません。

jQueryオブジェクトを返します。<li>この特定のケースでは、そのオブジェクトには、最初の引数( )で指定されたタイプで、2番目の引数で指定された属性を持つまだDOMに追加されていないHTML要素が含まれています。

また、オフセット値は$this要素の値を表しますか?それで、この要素の場合#slidingMenu li:first

ここで何をしているのかよくわかりません$this。そのコードには何もありません。ただし、$selectedその要素を含むjQueryオブジェクトを参照し、[0]構文を使用して最初の(そして、たまたまそれだけの)要素を取得しているので、そうです、その要素を参照します。

于 2012-08-12T19:50:34.473 に答える
2
  • $("#slidingMenu");の参照を取り、#slidingMenu$('#slidingMenu')はjQueryオブジェクトを返します。

  • $menu.find('li:first');li内の最初のものを見つけます#slidingMenu

  • $moving = $('<li/>', properties)つまり、jQuery-wrapped li要素をその場で作成しますが、DOMには追加しません。詳細について

  • $selectedはjQueryオブジェクトへの参照であり$selected[0]、要素参照/ JavaScriptオブジェクトを提供します。ただし、これは$selected[0]、最初のオブジェクトと$selected[1]2番目のオブジェクトへの参照という意味ではありません。

于 2012-08-12T19:55:32.017 に答える
1

jQuery関数は大幅に過負荷になっています。この特定のオーバーロードは、HTML要素<li>またはを取り、<li />その要素に設定する一連のプロパティが続き、jQueryでラップされたDOM要素を作成し、それらのプロパティを設定します。プロパティの設定は、文字列に単一の要素が含まれている場合にのみ機能することに注意してください-機能し$("<a>text</a><div>otherel</div>", props)ません。

2番目のポイントでは、jQueryはDOM要素を独自のオブジェクトにラップし、APIへのアクセスを提供します。配列と同様に動作するため、セット内のth要素 [x]を取得します。セットの最初の(この場合のみ)要素を取得します。x$selected[0]$selected

于 2012-08-12T19:48:05.823 に答える
0

$('<li/>')タグ付きの空のdom要素を作成しますli。そして、はい、$selected[0]この場合は要素になります#slidingMenu li:first.

于 2012-08-12T19:48:34.080 に答える