Javascript 从使用event.target.id的按钮调用的函数中选择一个div
我有以下HTML:Javascript 从使用event.target.id的按钮调用的函数中选择一个div,javascript,jquery,Javascript,Jquery,我有以下HTML: <div id="unit0"> <input onclick="getFeedback()" id="46003" class="btn" type="button" value="Upload assignment 1 here"> <input onclick="getFeedback()" id="46001" class="btn" type="button" value="Upload assignment 2 here"> &
<div id="unit0">
<input onclick="getFeedback()" id="46003" class="btn" type="button" value="Upload assignment 1 here">
<input onclick="getFeedback()" id="46001" class="btn" type="button" value="Upload assignment 2 here">
</div>
如何从该函数中选择div?我想将$.get的输出附加到包含event.target.id的div中,您可以使用$.parent,如下所示:
var parent_div = $(event.target).parent();
您可以先将其传递给函数,如下所示:
<input onclick="getFeedback(this)" id="46003" class="btn" type="button" value="Upload assignment 1 here">
<input onclick="getFeedback(this)" id="46001" class="btn" type="button" value="Upload assignment 2 here">
尝试不使用内联onClick
你真的在IE以外的浏览器中获得了该功能中的事件吗?IE中的事件是全局的?@adeneo:它在Chrome中也是全局的,但在Firefox中不是全局的。@CrazyTrain-是的,总是忘记这一点,但你是对的。杰米:你是说页面上有两个ID相同的元素吗?不,它们的ID不同。出于某种原因,它似乎选择了我的容器div,而不是单元div?无法使用unit0:/。有许多单位有不同的数字。例如单元1,单元2我已经更新了代码。尝试使用div并关闭输入标记。最近的似乎可以工作。不知道它为什么选择容器div。输入元素不应该有结束标记。
<input onclick="getFeedback(this)" id="46003" class="btn" type="button" value="Upload assignment 1 here">
<input onclick="getFeedback(this)" id="46001" class="btn" type="button" value="Upload assignment 2 here">
function getFeedback(obj) {
console.log("This function's caller was " + obj.id);
$.get('moodle/api.php', {
action: "getfeedback",
id: obj.id
}, function (data) {
// Get the parent div like
var $div = $(obj).closest('div');
});
}
<div id="unit0">
<input id="46003" class="btn" type="button" value="Upload assignment 1 here">
<input id="46001" class="btn" type="button" value="Upload assignment 2 here">
</div>
$('input.btn').on('click',function(e){
$.get('moodle/api.php',{action: "getfeedback", id: this.id}, function(data) {
});
});