2011-10-14 54 views
34

我行代碼是這樣的:

$(this).parent().parent().children().each(function(){ 
    // do something 
}); 

它運作良好。但我需要多次運行這些線。 所以我創建了一個功能,並通過$(這)參數的函數:

myFunc($(this)); 

function myFunc(thisObj) { 
    thisObj.parent().parent().children().each(function(){ 
     // do something 
    }); 
} 

但這種方式,它沒有工作。

+1

如果使用「this」而不是「$(this)」作爲參數會怎樣? – Rob

+2

您的代碼沒有問題,因此我建議這是其他地方的錯誤。你的意思是什麼,「它沒有用」? –

+0

「沒有用」? –

回答

45

你可以查看這個鏈接。

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

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

 
function myFunc(thisObj) { 
 
    thisObj.parent().parent().children().each(function() { 
 
    alert("childs") 
 
    }); 
 
}
<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>

7

jQuery將自動設置適當的情況下調用你的函數。

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

function myFunction() { 
    var that = $(this); 
    console.log(that); 
}