Javascript jQuery多个父()调用
我有一个for循环,它获取父元素的id和文本:Javascript jQuery多个父()调用,javascript,jquery,Javascript,Jquery,我有一个for循环,它获取父元素的id和文本: for (var i = 1; i < parents_num; i++) { var prev_parent_text = jQuery(id).parent().parent().find('> .myclass').text(); var prev_parent_id = jQuery(id).parent('ul').parent('li').attr('id'); } 对于i=2: var prev_pa
for (var i = 1; i < parents_num; i++)
{
var prev_parent_text = jQuery(id).parent().parent().find('> .myclass').text();
var prev_parent_id = jQuery(id).parent('ul').parent('li').attr('id');
}
对于i=2:
var prev_parent_text = jQuery(id).parent().parent().parent().parent().find('> .myclass').text();
var prev_parent_id = jQuery(id).parent('ul').parent('li').parent('ul').parent('li').attr('id');
对于i=3:
var prev_parent_text = jQuery(id).parent().parent().parent().parent().parent().parent().find('> .myclass').text();
var prev_parent_id = jQuery(id).parent('ul').parent('li').parent('ul').parent('li').parent('ul').parent('li').attr('id');
等等
我使用eq()函数失败:
var num = (i*2) - 2
var prev_parent_text = jQuery(id).parent().eq(num).find('> .myclass').text();
var prev_parent_id = jQuery(id).parent('ul').parent('li').eq(num).attr('id');
感谢您的帮助为每个步骤保留参考,并更新每个步骤的参考:
var $id = jQuery(id);
var $li = jQuery(id);
for (var i = 1; i < parents_num; i++) {
$id = $id.parent().parent();
$li = $li.parent('ul').parent('li');
var prev_parent_text = $id.find('> .myclass').text();
var prev_parent_id = $li.attr('id');
}
var$id=jQuery(id);
var$li=jQuery(id);
对于(变量i=1;i.myclass').text();
var prev_parent_id=$li.attr('id');
}
为每个步骤保留一个参考,并更新每个步骤的参考:
var $id = jQuery(id);
var $li = jQuery(id);
for (var i = 1; i < parents_num; i++) {
$id = $id.parent().parent();
$li = $li.parent('ul').parent('li');
var prev_parent_text = $id.find('> .myclass').text();
var prev_parent_id = $li.attr('id');
}
var$id=jQuery(id);
var$li=jQuery(id);
对于(变量i=1;i.myclass').text();
var prev_parent_id=$li.attr('id');
}
您可以为此添加自定义jquery函数,如下所示:
$.fn.nparent = function(n) {
var elem = $(this);
for (var i=0;i<n;i++) {
elem = elem.parent();
}
return elem;
}
您可以为此添加自定义jquery函数,如下所示:
$.fn.nparent = function(n) {
var elem = $(this);
for (var i=0;i<n;i++) {
elem = elem.parent();
}
return elem;
}
在您的情况下,请使用
parents()
。但实际上,创建一个递归函数,以便每次搜索都从它结束的地方开始。您也可以编写一个循环来调用。parent
在您的情况下,使用parents()
。但是实际上,做一个递归函数怎么样,这样每次搜索都从它结束的地方开始呢?你也可以写一个循环来调用。parent
我只是在写完全相同的代码,但是你在我之前发布了:-)Thanx Guffa!这正是我的意思。我只是在写完全相同的代码,但你在我之前发布:-)Thanx Guffa!这正是我的意思。