この (最後の) リスト項目内から div を取得するにはどうすればよいですか?
現在、私はこれを持っていますが、これは単なる醜いものです...よりクリーンなセレクター/ソリューションに関する提案はありますか?
var div = ul.append("<li><div></div></li>").contents("li:last-child")[0].children[0];
ありがとう!
この (最後の) リスト項目内から div を取得するにはどうすればよいですか?
現在、私はこれを持っていますが、これは単なる醜いものです...よりクリーンなセレクター/ソリューションに関する提案はありますか?
var div = ul.append("<li><div></div></li>").contents("li:last-child")[0].children[0];
ありがとう!
少し異なる方法で追加することもできます。
var div = $('<div/>');
// do whatever you need to do with the div
$('<li/>').appendTo(ul).append(div);
array-index を使用すると、HTMLElement オブジェクトだけが返されるため、jQuery の便利な機能の多くが削除されるため、注意が必要です。私はこのようにアプローチする傾向があります:
var div = $("<div/>").appendTo($("<li/>").appendTo(ul));
最も内側から最も外側まで、これはリスト アイテムを作成し、それをリストに追加し、div を作成し、それを新しいリスト要素に追加して、まだ jQuery の良さに包まれた div を返します。必要に応じて、配列インデックスを追加して、HTMLElement だけを取得できます。
var div = $("<div/>").appendTo($("<li/>").appendTo(ul))[0];
私の解決策は次のとおりです。
var div = ul.append("<li><div></div></li>").find("div:last");
このような?
var div = ul.append("<li><div></div></li>").contents("li:last-child > div")[0];
これはどうですか:
ul.append("<li><div></div></li>").contents("li:last-child > div").get(0);
これは、私は思う:
var div = ul.append('<li><div></div></li>').find("li:last div");
これはどう:
var div = $('<li><div/></li>').appendTo(ul).find('div');
完全を期すために:
var div = $('<div></div>').appendTo($("<li></li>").appendTo(ul));
var div = ul.append("<li><div></div></li>").find('div').get(0);
それがあなたが探しているものだと思います。