我想在jquery / javascript中的“.buttonleft0”中点击按钮时,从这个布局中找到父div ID(即“Bakerloo”)。
<div id='Bakerloo' class='box'>bakerloo<p></p><span class='buttons'>
<span class='buttonleft0'><button onClick='up()'><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>
我试过了:
$(this).parent('id');
但这只会返回'undefined'。
答案 0 :(得分:4)
$(this).closest('div').attr('id')
我认为这就是你想要的
答案 1 :(得分:3)
parent()
函数返回jQuery对象,因此您需要将attr()
用于任何属性,如下所示:
$(this).closest().attr('id');
修改:进一步检查时,按钮不是div
的直接子项,因此需要使用closest()
功能。
答案 2 :(得分:3)
直接Javascript总是适合我。
<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>
答案 3 :(得分:1)
试试这个:
$(this).parent().attr("id");
答案 4 :(得分:0)
试试这个:
$(本).closest( 'DIV [ID]')
答案 5 :(得分:0)
您的代码本身没有错误,所以这里是正确的:
<强> HTML 强>
<div id='Bakerloo' class='box'>bakerloo<p></p><span class='buttons'>
<span class='buttonleft0'><button><span class='icon icon10'>Click here</span>
</button>
</span><span class='buttonleft'></span><span class='buttonright'></span></span>
<div class='comingup'></div>
<div class='more'></div></div>
<强> JQuery的强>
jQuery(document).ready(function($){
$("button").on('click',function(){
alert($(this).closest('div').attr('id'));
});
});
答案 6 :(得分:0)
alert($(this).parent().id);
如果您想确保选择正确的班级,请尝试:
alert($(this).parent('.div').id);
如果你有更深层次的结构,你可以使用:
alert($(this).parents('.div:eq(n)').id);
其中n是您想要获得的父母