Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery hide()在页面加载后不工作_Jquery_Wordpress_Filtering - Fatal编程技术网

jquery hide()在页面加载后不工作

jquery hide()在页面加载后不工作,jquery,wordpress,filtering,Jquery,Wordpress,Filtering,我想我在这里遗漏了一些简单而明显的东西——我在一个网站上工作,我需要过滤投资组合类别,并在点击链接时显示类别描述,但不是“全部”列表项 页面加载良好,然后我可以单击并过滤类别/描述良好,但如果单击“全部”,则上次单击的内容的类别描述将保留,即使它应该隐藏 这是开发网站(Wordpress)—— 以下是相关代码: <ul class="filter-nav"> <li> <h4><?php _e("Filter:", "elemis"); ?&

我想我在这里遗漏了一些简单而明显的东西——我在一个网站上工作,我需要过滤投资组合类别,并在点击链接时显示类别描述,但不是“全部”列表项

页面加载良好,然后我可以单击并过滤类别/描述良好,但如果单击“全部”,则上次单击的内容的类别描述将保留,即使它应该隐藏

这是开发网站(Wordpress)——

以下是相关代码:

<ul class="filter-nav">
  <li>
    <h4><?php _e("Filter:", "elemis"); ?></h4>
  </li>
  <li class="selected-1 all"><a href="#" data-value="all">
    <h4><?php _e("All", "elemis"); ?></h4>
    </a></li>
    <?php 
      $categories=  get_categories('taxonomy=kind&orderby=id'); 
      foreach ($categories as $cat) {
        $input = '<li><a href="#" data-value="'.$cat->category_nicename.'" class="'.$cat->category_nicename.'"><h4>';
        $input .= $cat->cat_name;
        $input .= '</h4></a></li>';
        echo $input;
      }
     ?>
</ul>
<div class="clear"></div>
<!-- End Portfolio Navigation --> 

<div id="category-descriptions">

    <ul class="descriptions-list">
      <li class="all"></li>
      <?php 
          $categories=  get_categories('taxonomy=kind&orderby=id'); 
          foreach ($categories as $cat) {
          $input = '<li class="cat-desc '.$cat->category_nicename.'">';
          $input .= $cat->description;
          $input .= '</li>';
          echo $input;
          }
      ?>

    </ul>
</div> <!--/category-descriptions -->`
唯一相关的css是li.cat-desc设置为display:none

如有任何建议,将不胜感激。我总是混淆jQuery中的代码顺序(当然是noob),因此提前感谢您的帮助

所有的锚没有类“所有”…这就是问题所在。该类设置为 李元。。。
将类添加到a元素,它应该是work

单击事件被分配给锚定标记
a
so
$(this).attr('class')将引用锚定标记类属性。所以你应该试试这个

var ourClass=$(this.parent(“li”).attr(“class”)

或者可能只是


var ourClass=$(this.parent().attr('class')

Hi Dharmesh-感谢您的回答-这实际上并没有解决我的问题(因为我确实希望获得锚的类),但它帮助我重新查看代码,并发现问题在于“All”列表项没有“All”类。我现在把它整理好了。再次感谢!非常感谢s4ty——这正是我所看到的——我的眼睛一直在想它。
jQuery(document).ready(function($) {
  $('.filter-nav li a').click(function() {
    // fetch the class of the clicked item
    var ourClass = $(this).attr('class');

    if (ourClass == 'all') {
      // this should hide the li's on load - but doesn't? 
      $('.descriptions-list').children('li.cat-desc').hide();
    }
    else {

      // hide all elements that don't share ourClass
      $('.descriptions-list').children('li:not(.' + ourClass + ')').hide();
      // show all elements that do share ourClass
      $('.descriptions-list').children('li.' + ourClass).show();
  }
    return false;
  });
});