我有一个HTML元素,如下所示:
<a onclick="doSomething()">Do something!</a>
我需要在这个调用函数中拾取调用它的父元素。像这样:
function doSomething() {
var $parentElement = this.parents('.theClass');
}
答案 0 :(得分:1)
您可以将this
作为参数传递给doSomething
,因此请按以下方式定义:
function doSomething(elem) {
var $parentElement = $(elem).parents('.theClass');
}
HTML:
<a onclick="doSomething(this)">Do something!</a>
现在,参数包含可以使用jQuery包装它的元素,并根据需要横向DOM。
但是我不建议使用inline-js,尤其是在你包含了jQuery之后。
使用它会好得多:
$('a').click(function(e){
var $parentElement = $(this).parents('.theClass');
});
答案 1 :(得分:0)
您可以在纯JavaScript中使用。parentNode表示法。
<a onclick="doSomething(this)">Do something!</a>
function doSomething(elem) {
var parent = document.getElementByID(elem).parentNode;
}
答案 2 :(得分:0)
<a onclick="doSomething.call(this)">Do something!</a>
这会将this
正确地转移到函数中。