jQuery将$(this)传递给函数

Sab*_*eti 47 jquery this parameter-passing

我有这样的代码行:

$(this).parent().parent().children().each(function(){
    // do something
});
Run Code Online (Sandbox Code Playgroud)

它运作良好.但我需要多次运行这些行.所以我创建了一个函数并将$(this)参数传递给函数:

myFunc( $(this) );

function myFunc(thisObj) {
    thisObj.parent().parent().children().each(function(){
        // do something
    });
}
Run Code Online (Sandbox Code Playgroud)

但就这样,它没有用.

eri*_*urk 60

你可以查看这个链接.

http://jsfiddle.net/zEXrq/38/

$("#f").click(function() {
  myFunc($(this));
})

function myFunc(thisObj) {
  thisObj.parent().parent().children().each(function() {
    alert("childs")
  });
}
Run Code Online (Sandbox Code Playgroud)
<div id="wordlist">
  <div id="a"></div>
  <div id="b">
    <div id="e"></div>
    <div id="f">child</div>
  </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


Muh*_*hir 10

jQuery将使用适当的上下文集自动调用您的函数.

$('#button').on('click', myFunction);

function myFunction() {
    var that = $(this);
    console.log(that);
}
Run Code Online (Sandbox Code Playgroud)