jQueryはメソッドチェーンへの後方アプローチを取っていますか?
-
22-07-2019 - |
質問
次のコードを本質的に逆方向に見つけるのは私だけですか?
// create the inner div
var $inner = $("<div>inner</div>")
// append it to a new outer div
.appendTo("<div>outer</div>")
// next change the jQuery chain to the "outer" div
.parent()
// append the outer div to the body
.appendTo("body")
// finally, go back to the last destructive command,
// giving us back a pointer to the "inner" div
.end();
最初のアプローチは、 body を取得してから、 outer をbodyに追加し、 inner をアウター。
後方にアプローチしてから parent()
のようなもので階層を飛び回るのは、ちょっと奇妙に思えます...
解決
他の方法でもできます:
$('body').append('<div>outer</div>').append('<div>inner<div>');
ただし、 body
inner
で終了するには、以下を行う必要があります。
$('body').append('<div>outer</div>').append('<div>inner<div>')
.find('div:contains(inner)');
他のヒント
jQueryには、好きなことを実行できるということがあります。その特定のスタイルがあなたに合わないなら、あなたはそれを使う必要はありません。
多くの場合、メソッドチェーンが役立つことがわかりますが、特定のケースでは、何か別のことをすることになります。あまり明確ではないことに同意します。
実際には、それはすべて、後で連鎖したいものによって異なります。appendToを使用すると、追加した要素ではなく、新しい要素にアクセスできます。
所属していません StackOverflow