سؤال

ودعونا نقول لدينا شيء من هذا القبيل:

 <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 ذلك toggles وhidden class. ولكن ليس كل من الطبقات المخفية.

وحاولت تعديل بعض الاشياء مع $(this) ولكن لا شيء.

وبدأت للتو / مسج شبيبة حتى لا أفضل معها.

وهذا هو ما قلته

$(".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;
        }
    );

وويعمل الآن. :( أرجو أن تفهم سؤالي ... شكرا!

هل كانت مفيدة؟

المحلول

وهذا قد لا يكون الحل الأكثر فعالية ولكن حاول هذا:

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

وهذا يجب أن تعمل، إذا كنت قد فهمت سؤالك بشكل صحيح.

نصائح أخرى

$('a[href=#more]').click(function() {
    $(this).parents('.row > div.hidden').slideToggle('slow');
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top