0
最初の要素を使用してリスト項目内の最初の要素を対象とすることに問題があります。親の中の最初の要素を対象にします
<li data-id="321">
<ul>
<li data-id="380">
<ul>
<li data-id="385"></li>
</ul>
</li>
<li data-id="382"></li>
</ul>
</li>
$(".drop .position").click(function() {
$this = $(this);
$targetID = $(".box-cont.active ").closest("li.box").data("id");
$childrenArray = new Array();
if ($target.find("ul:first").find("li").length > 0) {
$target.find("ul:first").find("li").each(function() {
$this = $(this);
$childrenArray.push($this.data("id"));
});
alert($childrenArray);
} else {
alert("no children");
}
私は唯一の代わりに321の内側に最初のULの子供たちをターゲットにしようとしている私は380と382を追加したいとき、私は配列の380、382、および385を追加しています
参照する要素( '.box-cont'や' li.box'など)はサンプルのHTMLにはありません。 – moopet
'div'とは何ですか?あなたの例では 'div'は表示されていません –
' $ target.find( "ul:first> li")というだけのように聞こえますが、それぞれ(function() '(またはより良い:' map() ')より完全なHTMLサンプルがこれを確認します –