您实际提出的问题的答案是: is 的原始等价物$(this)
,this
但使用您 given 的形式onclick
,它将是您传递给函数的参数。如果愿意,您可以继续在该函数中使用 jQuery,只需接受该元素作为参数(因为这是您传递它的方式),然后$()
在其上使用:
function function_call(elm) {
var row_id = $(elm).parent().parent().attr('id');
// ...
}
但是要完全原始 DOM::
function function_call(elm) {
var row_id = elm.parentNode.parentNode.id;
}
更多关于各种 DOM 规范和 HTML5 API 的内容:
但是:您可以以相同的方式防止 jQuery 版本中的滚动:
$('.dialog_link_add').click(function(){
var row_id = $(this).parent().parent().attr('id');
return false; // <<=============
});
在 jQuery 处理程序中,return false
做两件事:
阻止默认操作(因此对于表单中的链接#
,它不会滚动窗口)。
防止事件冒泡 DOM。
在 DOM0 样式的处理程序(您的onclick
)中,return false
阻止默认操作,但不会停止冒泡。更多关于return false
各种类型的处理程序。 (编辑后的问题return false
在最初不存在的 jQuery 处理程序中显示。)