2011-11-24 67 views
2

我想傳遞給插件調用它的DIV的ID。jquery插件得到DIV ID

的溶液,稱這是這樣的:

$('#mydiv').myplugin({ 
     myproperty : $('#mydiv').attr('id') 
    }); 

但我想要做這樣的事情:

$('.myclass').myplugin({ 
    myproperty : $(this).attr('id') 
}); 

但「這」是不是指MyClass的元素。有沒有辦法獲得我的課程ID dinamically?

+1

你的第二個例子應該可以工作,但是我猜這個問題是由於存在多個帶​​有'.myclass'的元素,並且jQuery返回了第一個元素的Id,這不是你想要的。在這種情況下需要更精確的選擇器。 –

+0

你也可以發佈'.myplugin'的代碼嗎? – Dogbert

回答

3

問題是,在您的「myplugin」代碼運行之前,您正試圖使用​​「$(this)」。有沒有直接的方法,你在做什麼,但是這可能工作:

$('.myclass').each(function() { 
    $(this).myplugin({property: $(this).attr('id')}); 
}); 

做這樣的說法,你讓jQuery來建立一個函數調用你的「每一個」處理程序,每個元素匹配單獨選擇。在每次調用該函數時,this將引用其中一個元素。然後你可以在函數調用中使用該元素的屬性來調用你的插件。

+0

這正是我想要的。非常感謝你! – Jumpy