0

javascriptステートメントを実行するボタンと同じリスト要素にあるdivを表示しようとしています。リスト全体がAjaxによってロードされるため、ライブ関数が使用されます。

しかし、私は今かなり立ち往生していて、どのように進めるのか分かりません。私は成功するためにいくつかの異なる方法でEQ、次に親、子供を試しましたが、それは私にさらに頭痛を与えただけです。

$('a[rel*=button]')
    .live('click', function(event) { 
       event.preventDefault(); 
       url = this.href;
     $(this).next().find(".theclassofthediviwannashow").show();
      return false;
});

HTML:

<div class="mydiv">
   <ul>
      <li class="mylist">
         <a href="#" rel="button">Linktext</a>
         <div class="theclassofthediviwannashow">Bla bla bla</div>
      </li>
  </ul>
</div>

私が間違っていることを知っている人がいることを願っています。ありがとう!

4

4 に答える 4

2

divが常にlink要素に従う場合は、次のことができるはずです。

$(this).next().show()
于 2010-01-11T17:57:23.573 に答える
2

あなたdivが見せたいのはいつも次の使用next()ですが、あなたはそれを試したと言います。あなたが探しているかもしれないものはnextAll()

$('a[rel*=button]')
  .live('click', function(event) { 
      event.preventDefault(); 
      url = this.href;
      $(this).nextAll(".theclassofthediviwannashow").show();
  });
于 2010-01-11T18:00:02.053 に答える
1

これは機能するはずです:

$('a[rel*=button]')
    .live('click', function(event) { 
       event.preventDefault(); 
       url = this.href;
     $(this).next(".theclassofthediviwannashow").show();
      return false;
});
于 2010-01-11T18:00:10.260 に答える
0

あなたの質問を誤解しているかどうかはわかりませんが、削除.find(".theclassofthediviwannashow")してそのままにしておくだけで$(this).next().show();、あなたが望むことを実行できるようです。

于 2010-01-11T17:56:44.370 に答える