1

こんにちは、私はこのマークアップを持っています:

<div id="main">
     <div nam="item">1</div>
     <div nam="item">2</div>

     <div>
           <div nam="item">3</div>
           <div nam="item">4</div>
           <div nam="item">5</div>
     </div>

     <div nam="item">6</div>
     <div nam="item">7</div>
</div>

このメソッドを使用して、直接の子divのみを選択しています:

var divs = $("#main > [nam]"

私の質問 - 親 div のみを渡す関数内でこれを実行したいのですが、セレクターを変更するにはどうすればよいですか?

function get_rootChildren(div)
{
      return($("* > [nam]",div));
}

^ これは偽物ですが、私が言いたいことはわかると思います - どうすればこれを行うことができますか? thx、fuxi

4

5 に答える 5

2

多分:

$("#main > div.item")

jQueryセレクターのドキュメントから

parent > child

「親」で指定された要素の「子」で指定されたすべての子要素に一致します。

パート 2 に答えるには、.children()次のようなものを使用します。

function get_rootChildren(div) {
   $(div).children('div.item');
}
于 2009-11-05T01:35:03.137 に答える
1
$('#main > div.item')

#main div を選択してから、item のクラスを持つ直接の子 div 要素のみを選択します。

于 2009-11-05T01:34:57.863 に答える
1

$("#main > div.item") を使用するだけです。">" セレクターは、その後に置くものが前にあるものの子であることを確認します。

于 2009-11-05T01:37:53.163 に答える
0

親の ID を文字列として渡す場合は、呼び出す前に式を作成できます。

function get_rootChildren(divId) {
    var expr = "#" + divId + " > [nam]"; // creates expression for jQuery call
    return $(expr);
}
于 2009-11-05T03:01:11.823 に答える