2008-12-09 3 views
1

Допустим, у нас есть что-то вроде:Показать родителей товар элемента

<div class="row"> 
     <div class="box"> 
      <a class="more" href="#more"/> 
     </div> 
     <div class="hidden"> 
      stuff 
     </div> 
</div> 
<div class="row"> 
     <div class="box"> 
      <a class="more" href="#more"/> 
     </div> 
     <div class="hidden"> 
      stuff 
     </div> 
    </div> 

Итак, когда вы нажимаете на more link это toggleshidden class. но не оба скрытых класса.

Я попытался отредактировать некоторые вещи с помощью $(this), но ничего.

Только что начал jquery/js, так что не лучший с ним.

Это то, что у меня есть

$(".row .more").click( 
     function() 
     { 
      var parentTag = $(this); 
      var parentTag = "." + $(this).parent().parent().parent().attr('class') + ""; 
      //$(this).prepend(document.createTextNode(parentTag));  
      $(parentTag + " .forum-stats").slideToggle("slow"); 
      return false; 
     } 
    ); 

Он теперь работает. :( я надеюсь, что вы понимаете мой вопрос ... Спасибо

ответ

1

Это не может быть наиболее эффективным решением, но попробуйте это:.

$(".row #more").click(function() { 
     $(this).parents(".row").children(".hidden").slideToggle("slow");  
    } 
); 

Это должно работать, если я правильно понял ваш вопрос

+0

Это сработало. Спасибо! И я получаю то, что вы сделали! Двойной бонус! – twodayslate

+0

@tvanfosson это не так. – twodayslate

+0

Вы использовали .more или #more, #more выбирает по имени. На самом деле, теперь, когда я думаю об этом, я не уверен, как это будет работать с # больше, поскольку нет элементов с именем #more. – tvanfosson

1
$('a[href=#more]').click(function() { 
    $(this).parents('.row > div.hidden').slideToggle('slow'); 
}); 
Смежные вопросы