2011-06-25 143 views
2

是否可以臨時設置jQuery元素的屬性以讓其他函數知道該元素髮生了什麼?在jQuery元素上設置屬性

例如:

  • 一個功能是做動畫與元件
  • 用戶點擊的東西,觸發另一個函數,將動畫相同元件

=>中的所述一個動畫將失敗,並搞砸css :(

所以也許最好設置該元素的屬性,如el.animating = true而ani mations正在運行;這種方式與其他功能知道發生了什麼,並停止...

回答

3

我覺得你有兩種可能性:

  1. 使用類作爲標誌。見addClass[docs],removeClass[docs],hasClass[docs]
  2. 使用.data()[docs]任意數據與元素相關聯。

可以在jQuery的對象,這隻能組屬性,如果你保持一個參考這個特定的實例。每當您將選擇器傳遞給$()時,您會收到一個新的 jQuery對象。因此,這樣的:

$('div').foo = "bar"; 
alert($('div').foo); 

工作。

1

您的意思是使用.data?這正是它的目的。爲了讓你可以從你的代碼的其他部分訪問未做全局變量的一個爛攤子