我有以下查询:
$(some_selector_here).find("ul li.active a span")
我需要一个遍历集合的函数,在循环函数内部,它将拥有完整的基本元素堆栈。我尝试了map
和each
但他们在内部传递了DOM
元素,而不是jQuery
元素。问题是,是否有现成的功能或任何手动实现它的方法?
例:
$(some_selector_here).find("ul li.active a span").each(function () {
// here I want to get this $(some_selector_here)
var parentElement = $(this).end();
})
如果您
没有"被迫"在.each
中使用this
,这应该有效:
var base = $(some_selector_here);
base.find("ul li.active a span").each(function () {
// now you can access base, which is == $(some_selector_here)
var parentElement = $(this).end();
})
$(some_selector_here).find("ul li.active a span").each(function () {
var selector = $(some_selector_here); // here you have
var parentElement = $(this).end();
})
更新
获取特定元素的父元素
使用closest()
:
$(some_selector_here).find("ul li.active a span").each(function () {
var parent = $(this).cloest('some_selector_here'); // here you have
var parentElement = $(this).end();
})
或
使用parents
$(some_selector_here).find("ul li.active a span").each(function () {
var parent = $(this).parents('some_selector_here'); // here you have
var parentElement = $(this).end();
})