Javascript jquery获取曾祖父母的ID
如果我有这条线路,我想知道是否有更好的方法Javascript jquery获取曾祖父母的ID,javascript,jquery,Javascript,Jquery,如果我有这条线路,我想知道是否有更好的方法 var TheID = $(this).parent().parent().parent().parent().parent().attr('id'); 请注意,我正在寻找ID的div具有类“MyClass”,如果这有帮助的话 谢谢 var TheID = $('.MyClass').attr('id'); 或 这就是你的意思吗?这将获得.MyClass的ID您可以使用.parents var TheID = $(this).parents(".M
var TheID = $(this).parent().parent().parent().parent().parent().attr('id');
请注意,我正在寻找ID的div具有类“MyClass”,如果这有帮助的话
谢谢
var TheID = $('.MyClass').attr('id');
或
这就是你的意思吗?这将获得.MyClass的ID您可以使用
.parents
var TheID = $(this).parents(".MyClass").attr('id');
获取所有.parents()
,并使用.eq()
$(this).parents().eq(5).attr('id');
…或
:eq()
选择器
$(this).parents(':eq(5)').attr('id');
…或者做一个函数
function up(el, n) {
while(n-- && (el = el.parentNode)) ;
return el;
}
…像这样使用它
up(this, 5).id
你对更好的定义是什么
//POJS, fastest
var TheID = this.parentNode.parentNode.parentNode.parentNode.parentNode.id;
//jQuery, terse
var TheID = $(this).closest(".MyClass").prop("id");
您试图检索的id是动态生成的,因此您不知道它是什么
如果是这样,考虑给伟大的曾祖父母分配一个唯一的CSS类名。那么你应该可以做这样的事情:
$(.mygreatgreatgreatgrandrentcssclass”).attr(“id”)代码>
当然,如果您这样做,您可能不需要曾祖父母的id。您也可以尝试使用如下get属性:
$(this).closest('div.Myclass').attr('id');
或者第二种方法是
$(this).parents('div.Myclass').attr('id')
请参见此处:$(this).closest('.MyClass').attr('id')
如果中间没有其他的.MyClass
,则不应该有。第二个使用id选择器获取元素的id;这是多余的。我知道,但OP说ID有类MyClass,所以就把它包括在内,以防万一这正是他想要的
$(this).parents('div.Myclass').attr('id')