0

使用此 JSFiddle http://jsfiddle.net/fGTqF/我如何显示 SALE 子类别下的子类别?例如,在 SALE > BELTS 和 SALE > ACESSORIES 下还有其他类别,但我不知道如何定位它们以显示。下面的代码将显示 SALE 下的子类别,但我也需要它来显示 SALE 子类别的子类别。

var $currentCategory = "Sale";
var s = $(".sideCatMenu a").filter(function(){
    return $.trim($(this).text()) === $currentCategory
}).addClass('active').eq(1).next().show()
4

1 回答 1

0

下面将显示带有文本的锚点之后的所有项目Sale

var $currentCategory = "Sale";
var s = $(".sideCatMenu a").filter(function() {
    return $.trim($(this).text()) === $currentCategory;
}).addClass("active").next().show();​​

您的代码可能无意中出现的错误是文本中没有第二个元素Sale(在那种情况下)。请记住,.eq()使用从零开始的索引。所以你可能正在寻找的是(如果你真的想限制你的搜索):

var $currentCategory = "Sale";
var s = $(".sideCatMenu a").filter(function() {
    return $.trim($(this).text()) === $currentCategory;
}).addClass("active").eq(0).next().show();​​

但是,我不明白的一件事是为什么要添加类然后限制数组,因为这样所有匹配选择器和过滤器的元素都会是红色的,但只有其中一个会显示其项目. 如果你想解决这个问题,只需使用:

var $currentCategory = "Sale";
var s = $(".sideCatMenu a").filter(function() {
    return $.trim($(this).text()) === $currentCategory;
}).eq(0).addClass("active").next().show();​​
于 2012-11-11T15:10:02.190 回答