Головная боль Jquery - живое прохождение - PullRequest
0 голосов
/ 11 января 2010

Я пытаюсь показать div, который находится в том же элементе списка, что и кнопка, выполняющая оператор javascript. Весь список загружается 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 ]

2 голосов
/ 11 января 2010

Если ваш div всегда следует за элементом ссылки, вы должны просто сделать:

$(this).next().show()
2 голосов
/ 11 января 2010

Если div, который вы хотите показать, всегда используется в следующий раз next(), но вы говорите, что пробовали это. То, что вы можете искать, это nextAll():

$('a[rel*=button]')
  .live('click', function(event) { 
      event.preventDefault(); 
      url = this.href;
      $(this).nextAll(".theclassofthediviwannashow").show();
  });
1 голос
/ 11 января 2010

Это должно работать:

$('a[rel*=button]')
    .live('click', function(event) { 
       event.preventDefault(); 
       url = this.href;
     $(this).next(".theclassofthediviwannashow").show();
      return false;
});
0 голосов
/ 11 января 2010

Я не уверен, что неправильно понял ваш вопрос, но просто убрав .find(".theclassofthediviwannashow") и оставив только $(this).next().show();, похоже, сделаете то, что вы хотите.

...