JavaScript/jQuery:如何将元素作为其';这个';?

JavaScript/jQuery:如何将元素作为其';这个';?,javascript,jquery,Javascript,Jquery,如何将某些内容传递给函数,就好像它调用函数一样 假设我有这个功能 function ShowId() { alert($(this).attr('id')); } 这个HTML <div id='div1'> <a class='link'>Some link</a> </div> 它应该发出警告:div1传递jQuery元素: function ShowId($this) { alert($this.attr('id')); }

如何将某些内容传递给函数,就好像它调用函数一样

假设我有这个功能

function ShowId() {
  alert($(this).attr('id'));
}
这个HTML

<div id='div1'>
  <a class='link'>Some link</a>
</div>

它应该发出警告:
div1

传递jQuery元素:

function ShowId($this) {
  alert($this.attr('id'));
}

$('div .link').click(function() {
  $(this).parent('div').call(ShowId($(this)));
});
差不多,试试这个:

ShowId.call($(this).parent('div'))
是函数的一种方法,因此顺序是相反的:

ShowId.call($(this).parent('div'));
不过,作为论点传递通常也是可行的:

function ShowId(elem) {
    alert($(elem).attr('id'));
}
使用此代码:

$('div .link').click(function() {
  var parentObj = $(this).parent('div');
  ShowId(parentObj); // call the function with arguments simply
});
你的职能是:

function ShowId(that) {
  alert($(that).attr('id'));
}

可以将元素作为对象传递到函数中-

$('div .link').click(function() {
  ShowId($(this).parent('div'));
});

function ShowId(Obj) {
  alert(Obj.attr('id'));
}

function ShowId(that) {
  alert($(that).attr('id'));
}
$('div .link').click(function() {
  ShowId($(this).parent('div'));
});

function ShowId(Obj) {
  alert(Obj.attr('id'));
}