jQueryでのend()メソッドについて
最近jQueryの方面の知識を勉強して、学習の中で一定の困難に出会って、いくつかの知識は公式のドキュメントを見なければならなくて、end()の方法を使う時、1つの小さい例に少し気絶させられました.
公式のAPIではend()メソッドについて、「最近の「破壊的」な操作の前に戻ります.すなわち、一致する要素リストを前回の状態にします.」と説明しています.
最後の操作を見つけた要素の前の要素のように見えますが、次の例では:
htmlコード:
jQueryコード:
結果は次のとおりです.
ここで私は少し分かりませんが、どうして最初の
2.$('
3.$('
公式のAPIではend()メソッドについて、「最近の「破壊的」な操作の前に戻ります.すなわち、一致する要素リストを前回の状態にします.」と説明しています.
最後の操作を見つけた要素の前の要素のように見えますが、次の例では:
htmlコード:
<
div
>
1
</
div
><
div
>
2
</
div
>
jQueryコード:
$('
<
p
>
</
p
>
').appendTo('div').addClass('c1').end().addClass('c2');
結果は次のとおりです.
<
div
>
1
<
p
class
="c1 c2"
>
</
p
></
div
>
<
div
>
2
<
p
class
="c1"
>
</
p
></
div
>
ここで私は少し分かりませんが、どうして最初の
ラベルだけが2つのスタイルがあるのか、end()メソッドの後に戻ったのは何なのか、火狐に監視カメラを追加して、以下の結果を得ました.
1.$('
新規コンテンツ
').appendTo('div')は、[p,p]オブジェクト配列、すなわち、追加された2つのpラベルを返します.2.$('
新規コンテンツ
')appendTo('div').addClass('c 1')は、[p.c 1,p.c 1]オブジェクト配列、すなわちc 1クラススタイルが追加されたpオブジェクト配列を返します.3.$('
新規コンテンツ
').appendTo('div').addClass('c1').end()は[p.c 1]を返し、1番目のの
であり、2番目の操作で最後に「破壊」されたのは2番目の
の
であるため、彼の前回の操作の対象は1番目の
の
であり、戻ったのはそれである.
4.$('
新規コンテンツ
')appendTo('div').addClass('c1').end().addClass('c 2')は、1番目のの
を返します.
今は少し分かりましたが、最後に操作した要素の前の要素が何なのかを明らかにすることが肝心です.