prepend() と prependTo() の違いがわかりません。誰かが違いを理解するのを手伝ってくれますか。
3 に答える
それは本当に連鎖するためだけです。
x.prependTo(y)
元のコレクションの先頭に追加x
しy
て返しx
ます。
y.prepend(x)
も先頭x
に追加されy
ますが、元のコレクションが返されy
ます。
jQueryのドキュメントによるとprepend
.prepend()
メソッドとメソッドは.prependTo()
同じタスクを実行します。主な違いは構文にあります。具体的には、コンテンツとターゲットの配置です。では.prepend()
、メソッドの前にあるセレクター式は、コンテンツが挿入されるコンテナーです。.prependTo()
一方、 の場合、コンテンツは、セレクター式またはオンザフライで作成されたマークアップとして、メソッドの前にあり、ターゲット コンテナーに挿入されます。
いくつかの例:
prepend
例 1
<div id="a">
<p>a</p>
</div>
<div id="b">
<p>b</p>
</div>
<script>
$('#a').prepend('#b');
</script>
結果は*:
<div id="a">
#b
<p>a</p>
</div>
<div id="b">
<p>b</p>
</div>
これは、prepend
文字列をセレクタではなく HTML コンテンツとして扱うためです。
prepend
例 2
<div id="a">
<p>a</p>
</div>
<div id="b">
<p>b</p>
</div>
<script>
$('#a').prepend($('#b'));
</script>
結果:
<div id="a">
<div id="b">
<p>b</p>
</div>
<p>a</p>
</div>
prependTo
例 3
<div id="a">
<p>a</p>
</div>
<div id="b">
<p>b</p>
</div>
<script>
$('#a').prependTo('#b');
</script>
結果は*:
<div id="b">
<div id="a">
<p>a</p>
</div>
<p>b</p>
</div>
* コードを読みやすくするために、これらの例では空白が間違っています。
.prepend() および .prependTo() メソッドは同じタスクを実行します。主な違いは構文、特にコンテンツとターゲットの配置にあります。.prepend() では、メソッドの前にあるセレクター式は、コンテンツが挿入されるコンテナーです。一方、.prependTo() では、コンテンツは、セレクター式またはその場で作成されたマークアップとして、メソッドの前にあり、ターゲット コンテナーに挿入されます。
基本的に言う
ElementWhereIWantToAppendTo.prepend(This Is The Content That Is Added)
ElementIWantToAdd.prependTo(This Is Where I add The Content)