下面将显示带有文本的锚点之后的所有项目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();