我的 HTML 包含许多这样的对象:
<div class="class">
<div class="disconnect_btn">Click here</div>
<input type="hidden" name="ID" value="12"/>
</div>
我有一个函数将另一个函数绑定(bind)到按钮元素。像这样:
$('.disconnect_btn').bind('click',function(e){
disconnectFunction(e);
});
我想做的是首先获取按钮所在的 Div,我尝试使用 e.parents('.class')
方法,但这总是返回错误,如 object has no方法...
我的第二个目标是从父 Div 中的隐藏输入字段中提取值属性。
function disconnectFunction(e){
var parent = e.parents('.class')); //returns error
var ID = parent.find('input:hidden[name=ID]').attr('value');
console.log( ID );
}
我也试过 this 和 $(this) 选择器,但不知何故我现在卡住了,也许有一个我找不到的简单解决方案。
最佳答案
您将事件作为参数传递而不是传递 DOM。
你可以按照下面的方式从事件中传递它,
$('.disconnect_btn').on('click',function(e){
disconnectFunction(e.target);
});
在 disconnectFunction 中,您可以按如下方式使用它。
function disconnectFunction(e){
var parent = $(e).parents('.class')); //returns error
---^^^^^-----
var ID = parent.find('input:hidden[name=ID]').attr('value');
console.log( ID );
}
关于javascript - jQuery 获取被点击元素的父 jQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230244/