Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery获取曾祖父母的ID_Javascript_Jquery - Fatal编程技术网

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')