代码之家  ›  专栏  ›  技术社区  ›  topper1309

如何在多个类jquery中使用this

  •  0
  • topper1309  · 技术社区  · 7 年前

    更多标签 单击链接。jquery部分正在工作,但是所有列表项都显示出来了。 '这个' 更多标签 链接。

    <div class="tag-box">
     <ul class='gk-tags'>
      <li><a href='/category/economic' class='gk-tag'>Economic</a></li>
      <li><a href='/category/test' class='gk-tag'>Test</a></li>
      <li><a href='/category/sports' class='hidden-items gk-tag'>Sports</a></li>
      <li><a href='/category/health' class='hidden-items gk-tag'>Health</a></li>
     </ul>
     <a class='tag-show-more'>more tags</a>
    </div>
    
    <div class="tag-box">
     <ul class='gk-tags'>
      <li><a href='/category/test' class='gk-tag'>Test</a></li>
      <li><a href='/category/sports' class='hidden-items gk-tag'>Sports</a></li>
      <li><a href='/category/health' class='hidden-items gk-tag'>Health</a></li>
     </ul>
     <a class='tag-show-more'>more tags</a>
    </div>
    
    <script type="text/javascript">
    jQuery(document).ready(function(){
      jQuery('.hidden-items').hide();
      jQuery('.tag-show-more').click(function(){
         jQuery('.hidden-items').show();
      });
    });
    </script>
    
    4 回复  |  直到 7 年前
        1
  •  1
  •   Mamun    7 年前

    根据HTML的结构,可以使用 .prev() .find() this 比如:

    jQuery(this).prev('.gk-tags').find('.hidden-items').show();
    

    jQuery(document).ready(function(){
      jQuery('.hidden-items').hide();
      jQuery('.tag-show-more').click(function(){
         jQuery(this).prev('.gk-tags').find('.hidden-items').show();
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="tag-box">
     <ul class='gk-tags'>
      <li><a href='/category/economic' class='gk-tag'>Economic</a></li>
      <li><a href='/category/test' class='gk-tag'>Test</a></li>
      <li><a href='/category/sports' class='hidden-items gk-tag'>Sports</a></li>
      <li><a href='/category/health' class='hidden-items gk-tag'>Health</a></li>
     </ul>
     <a class='tag-show-more'>more tags</a>
    </div>
    
    <div class="tag-box">
     <ul class='gk-tags'>
      <li><a href='/category/test' class='gk-tag'>Test</a></li>
      <li><a href='/category/sports' class='hidden-items gk-tag'>Sports</a></li>
      <li><a href='/category/health' class='hidden-items gk-tag'>Health</a></li>
     </ul>
     <a class='tag-show-more'>more tags</a>
    </div>
        2
  •  1
  •   calios    7 年前

    $(this) 用于选择当前单击的元素。

    然后使用 .parents('.classNameOfParent') 获取父元素

    .hide()
    

    你可以这样做:

     $(this).parents('.classNameOfParent').hide()
    

    祝你好运!

        3
  •  0
  •   APL    7 年前
     jQuery(document).ready(function(){
          jQuery('.hidden-items').hide();
          jQuery('.tag-show-more').click(function(){
             jQuery(this).closest(".tag-box").find('.hidden-items').show();
          });
        });
    

        4
  •  0
  •   C.Gochev    7 年前

    jQuery(this).siblings('.gk-tags').find('.hidden-items').show();