0

「testing」という div があります。この div は、内部に 1 つ以上のタグを含む同じページに 1 回または複数回表示できます。たとえば、1 つのページに

<div class="testing">
   <span>hello</span>
</div>

または、別のページにある可能性があります

<div class="testing">
   <span>hello</span>
   <span>hello again </span>
</div>

次の条件で「テスト」divでjQuery関数を実行したい:

  • 「テスト」divに複数のスパンタグが含まれている場合にのみ、関数を実行したい。
  • 複数のスパンタグを含む「テスト」divで関数を実行するだけです。

どうすればこれを達成できますか?

4

6 に答える 6

2

質問する前に、既に持っているコードを投稿してみてください。とは言うものの...

$('div.testing span').length

これは、クラス テストで div 内のスパン要素の数を返します。

于 2013-02-21T18:14:52.753 に答える
0

これを関数に入れます:

if($('.testing span').length > 1) { /* relevant code here */ }
于 2013-02-21T18:14:44.367 に答える
0
  1. 関数を書く
  2. テストでスパン数を確認します (ヒント: if($('.testing').children('span').length)
  3. if ステートメントの「then」部分でそれぞれの関数を実行します。
于 2013-02-21T18:15:34.187 に答える
0

これを試して

 if($('.testing span').length > 1) { 

 }
于 2013-02-21T18:18:11.447 に答える
0

これを試してみてください。背景を赤く設定している部分を好きなように置き換えます。

$(".testing").each(function(index, value) { 
    var spans = $(this).find("span");
    if(spans.length > 1){
        $(this).css("background-color", "red");
    } 
});
于 2013-02-21T18:23:44.113 に答える
0

必要な条件は同じなので、1 つの条件で次のようにすることができます。

if($('.testing span').length > 1) console.log('more than one');

関数を使用した例

if($('.testing span').length > 1) myFunction();
于 2013-02-21T18:25:07.717 に答える