我想我失去了一些東西簡單而明顯的在這裏 - 我工作的一個網站,我需要過濾組合類別,也顯示出對鏈接點擊的類別描述,但不適用於「全部」列表項。jQuery的隱藏()不工作
頁面加載正常,然後我可以點擊並篩選類別/描述,但是如果您點擊返回到「全部」,即使應該隱藏最後點擊的類別描述仍然存在。
這裏是dev的網站(WordPress的) - http://foothilltile.com/dev/products/
下面是相關代碼:
<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 -->`
然後是JS:
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;
});
});
而唯一相關的CSS是li.cat-desc設置爲顯示:無。
任何建議,將不勝感激。我一直在混淆jQuery代碼的順序(當然,noob),所以提前感謝您的幫助。
非常感謝s4ty - 這正是我看到 - 我的眼睛只是不停地失蹤了。 – Max