-1

同じクラス名、つまりmodを持つすべてのdivのリストを保持したい. このために、昇順の ID に基づいてリストを並べ替えました。したがって、内部 div にテキスト "Hello1" のクラス タイトルが含まれる ID を探しています。

ここに構造があります

<div class="mod" id="mod23" >
      <div class="content" >
       <div class="hd" >
         <div class="title">Hello1</div>
           <ul class="list"></ul>
           <ul class="buttons">
             <li class="help"></li>
             <li class="show" ></li>
             <li class="close"></li>
           </ul>
       </div>
      </div>
     </div>
    <div class="mod" id="mod27" >
      <div class="content" >
       <div class="hd" >
         <div class="title">Hello2</div>
           <ul class="list"></ul>
           <ul class="buttons">
             <li class="help"></li>
             <li class="show" ></li>
             <li class="close"></li>
           </ul>
       </div>
      </div>
     </div>
<div class="mod" id="mod25" >
      <div class="content" >
       <div class="hd" >
         <div class="title">Hello1</div>
           <ul class="list"></ul>
           <ul class="buttons">
             <li class="help"></li>
             <li class="show" ></li>
             <li class="close"></li>
           </ul>
       </div>
      </div>
     </div>
    <div class="mod" id="mod29" >
      <div class="content" >
       <div class="hd" >
         <div class="title">Hello2</div>
           <ul class="list"></ul>
           <ul class="buttons">
             <li class="help"></li>
             <li class="show" ></li>
             <li class="close"></li>
           </ul>
       </div>
      </div>
     </div>

これが私が思いついたコードで、動作していません

myarray is a sorted list of unique id number.        
     for(var i=0;i<len;i++)
    {


 $('#mod'+myarray[i]).each(function(index) {   

      $('div.title:contains(Hello1)').each(function(index) {

       alert('found at ' +i);
    });
    });
      }
4

1 に答える 1

1

forループの代わりに:

$('#mod'+myarray[i]).each

starts with次のようにセレクターを使用できます。

$('div[id^="mod"]').each(function(){
  // this iterates over all divs with id starting like "modNUMBER"
});

しかし、これがあなたが探しているものだと思います:

$('div.title:contains("Hello1")').each(function(){
  var id = $(this).closest('.mod')[0].id;
  alert('Found in div with id: ' + id);
});
于 2012-07-06T20:15:43.097 に答える