jQuery通过类搜索获取元素的id
这是我的HTML:
a b
我想使用该div的类(“.head-div”)获取父div(“#my_box_one”)的ID
$(document).ready(function(){ $(".some_box").click(function(){ var abc = $(this).parentsUntil(".head-div").attr("id"); // also tried $(this).parent(".head-div") -- same effect alert(abc); // Shows as Undefined }); });
我可以做以下事情,它会工作正常,但似乎不对。
var abc = $(this).parent("div").parent("div").attr("id");
您可以使用.closest(selector) ,例如:
var abc = $(this).closest(".head-div").attr("id");
http://api.jquery.com/closest/
.parent(selector)仅选择元素的直接父级。
parentsUntil
获取所有父元素,直到选择器匹配的元素。 它不包括匹配的元素。 你试图获得干预div
的id
,这显然是未定义的。
你需要使用closest
,它在DOM树上,直到找到与选择器匹配的元素,然后只返回该元素:
var abc = $(this).closest(".head-div").attr("id");
编辑:为了提高速度,但在更改标记时灵活性较低,可以使用parentNode
属性:
var abc = this.parentNode.parentNode.id;