0

この (最後の) リスト項目内から div を取得するにはどうすればよいですか?

現在、私はこれを持っていますが、これは単なる醜いものです...よりクリーンなセレクター/ソリューションに関する提案はありますか?

var div = ul.append("<li><div></div></li>").contents("li:last-child")[0].children[0];

ありがとう!

4

9 に答える 9

2

少し異なる方法で追加することもできます。

var div = $('<div/>'); 
// do whatever you need to do with the div
$('<li/>').appendTo(ul).append(div);
于 2008-12-15T16:45:37.850 に答える
1

array-index を使用すると、HTMLElement オブジェクトだけが返されるため、jQuery の便利な機能の多くが削除されるため、注意が必要です。私はこのようにアプローチする傾向があります:

var div = $("<div/>").appendTo($("<li/>").appendTo(ul));

最も内側から最も外側まで、これはリスト アイテムを作成し、それをリストに追加し、div を作成し、それを新しいリスト要素に追加して、まだ jQuery の良さに包まれた div を返します。必要に応じて、配列インデックスを追加して、HTMLElement だけを取得できます。

var div = $("<div/>").appendTo($("<li/>").appendTo(ul))[0];
于 2008-12-15T17:13:26.950 に答える
0

私の解決策は次のとおりです。

var div = ul.append("<li><div></div></li>").find("div:last");
于 2008-12-15T18:44:29.387 に答える
0

このような?

var div = ul.append("<li><div></div></li>").contents("li:last-child > div")[0];
于 2008-12-15T16:38:43.667 に答える
0

これはどうですか:

ul.append("<li><div></div></li>").contents("li:last-child > div").get(0);
于 2008-12-15T16:40:18.157 に答える
0

これは、私は思う:

var div = ul.append('<li><div></div></li>').find("li:last div");
于 2008-12-15T16:49:37.263 に答える
0

これはどう:

 var div = $('<li><div/></li>').appendTo(ul).find('div');
于 2008-12-15T16:50:03.957 に答える
0

完全を期すために:

var div = $('<div></div>').appendTo($("<li></li>").appendTo(ul));
于 2008-12-15T16:52:47.397 に答える
0
var div = ul.append("<li><div></div></li>").find('div').get(0);

それがあなたが探しているものだと思います。

于 2008-12-15T17:04:03.443 に答える