2016-07-21 97 views
1

示例HTML:获取由元素的选择类元素的jQuery

<ul class="nav"> 
    <li class="item">Item 1</li> 
    <li class="item">Item 2</li> 
    <li class="item active">Item 3</li> 
    <li class="item">Item 4</li> 
    <li class="item">Item 5</li> 
</ul> 

现在我想要得到的.nav内部有源元件:

function someFunction() { 
    var elements = $('.nav').find('.item'); 
    var active = elements.get('.active'); 
} 

当然,这.get将不起作用。但这就是我想要得到的例子。所以我有变量包含元素,我想获得.active元素。我不想要$('.nav').find('.item.active'),因为这只是一个例子,我的代码更加复杂,我想使用该变量。它甚至可能在jQuery中?

+3

'.filter' not'.get' – user3154108

+0

哦,是的,'filter'就是那个东西。谢谢!我之前使用过它,但它并没有出现在我的脑海中。 – debute

回答

2

您可以访问

$('.nav .item').css('display','none'); 
$('.nav .active').css('display','block'); 
+0

你不需要使用'$(elements)'。我正在寻找'filter',所以你有正确的答案。 – debute

+0

我们不能作为“elements.filter”访问,因为过滤器是一个jQuery函数。 – Karthikeyan

+0

你可以使用'elements.filter()'。我现在正在使用它,它正在工作:) – debute

0

使用.find()方法获取整个ul中的活动类元素。

var activeObj = $(".nav").find(".active"); 
1

你是否在活动项目的文字之后?然后直接瞄准它

var active = $('.nav .active').text(); 

,如果你想显示才把活动项目:直接

var element = $('.nav li.active') 
0

您可以选择内部UL主动力变量为jQuery元素。

var elements = $('.nav').find('.item'); 
$(elements).filter('.active');