如何在jquery中选择变量内的元素?

时间:2017-05-08 17:58:58

标签: javascript jquery html

我有一个带手风琴元素的功能(我在一个页面中有多个手风琴)并将其传递给另一个功能。在第二个功能中,我想选择每个手风琴内的第一个标题。我该怎么做?

$(document).ready( function()
 {

$(".accordion").each(function(){
    prep_accordion(this);
});

 });

我试过这个。此函数中的第一个语句选择所有元素,第二个语句仅选择一个元素,但仅在第一次使用。我想让它选择每个手风琴中的第一个标题

function prep_accordion( element )
 {
     var headers = $(element).find('.accordion-header'); //Selects all headers
     var header = $('.accordion-header').first();  //Selects first header, but only the first time function is called.

}

1 个答案:

答案 0 :(得分:0)

让我们稍微打破一下......

在这里,您使用$(element).find(),因此您的搜索仅限于当前元素中的折叠标题:

var headers = $(element).find('.accordion-header'); //Gets the current accordion's headers

但是在这里,你使没有引用element参数。这将选择页面上的第一个标题 ,因为您没有将您的选择限制为仅当前元素:

var header = $('.accordion-header').first(); //Gets the first accordion-header on the entire page

由于您已经拥有当前元素的标题列表,因此无需使用其他选择器。只需从您已有的列表中获取第一个标题:

$(document).ready(function() {

    $(".accordion").each(function(){
        prep_accordion(this);
    });

});

function prep_accordion(element) {
    var headers = $(element).find('.accordion-header'); //Selects all headers
    var header = headers.first(); //Gets the first header for the given element
}