I am looking to find the parent div id (i.e. \"Bakerloo\") from this layout when the button is clicked within \".buttonleft0\" in jquery / javascript.
alert($(this).parent().id);
If you want to be sure to select correct class, try:
alert($(this).parent('.div').id);
If you have a deeper hierarchy you can use:
alert($(this).parents('.div:eq(n)').id);
where n is which parent you want to get
$(this).closest('div').attr('id')
I think this is what you want
Straight up Javascript always works for me.
<div id='Bakerloo' class='box'>
bakerloo<p></p>
<span class='buttons'>
<span class='buttonleft0'>
<button onClick='alert(this.parentNode.parentNode.id)'>
<span class='icon icon10'></span>
</button>
</span>
<span class='buttonleft'></span>
<span class='buttonright'></span>
</span>
<div class='comingup'></div>
<div class='more'></div>
</div>
The parent()
function returns the jQuery object, so you need to use the attr()
for any of it's attributes like so:
$(this).closest().attr('id');
Edit: On further inspection it appears the button isn't the direct child of the div
, and so use of the closest()
function would be required.
Try this:
$(this).parent().attr("id");
Try this:
$(this).closest('div[id]')