This is my html :
a
-
parentsUntil
gets all the parent elements until the one matched by the selector. It does not include the element matched. You're trying to get the id
of the intervening div
, which is obviously undefined.
You need to use closest, which goes up the DOM tree until it finds an element matching the selector, then returns only that element:
var abc = $(this).closest(".head-div").attr("id");
Edit: for extra speed, but less flexibility in the event that you change your markup, you could use the parentNode
property:
var abc = this.parentNode.parentNode.id;
讨论(0)
-
You can use .closest( selector ), for example:
var abc = $(this).closest(".head-div").attr("id");
http://api.jquery.com/closest/
.parent( selector ) selects only immediate parent of the element.
讨论(0)
- 热议问题