jQueryのは、どのように私はこのコードでdiv要素を得るのですか?

StackOverflow https://stackoverflow.com/questions/368943

  •  21-08-2019
  •  | 
  •  

質問

どのように私はこの(最後の)リスト項目の中からのdivを得るのですか?

現在、私は単なる醜いである、これを持っている...クリーナーセレクタ/ソリューション上の任意の提案ですか?

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

ありがとうございます。

役に立ちましたか?

解決

だけのHTMLElementオブジェクトの配列インデックスのリターンを使うので、jQueryの便利な機能の多くを削除し、そのために注意してください。私はそれをこのようにアプローチする傾向があります。

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

最も外側ための最も内側から、これは、リスト項目を作成し、あなたのリストに追加し、DIVを作成し、新しいリスト要素に追加し、まだjQueryの良さに包まれたdiv要素を返します。あなたが好きなら、あなただけのHTMLElementを取得するために、配列のインデックスを追加することができます:

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

他のヒント

あなたは違った、あまりにも少しの追加に取り掛かることができます:

var div = $('<div/>'); 
// do whatever you need to do with the div
$('<li/>').appendTo(ul).append(div);

このような?

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);

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

私の解決策があります:

var div = ul.append("<li><div></div></li>").find("div:last");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top