2013-02-22 40 views
1

是否有可能找回作爲參數傳遞給jQuery插件的屬性。如何獲取jquery插件中使用的屬性?

樣品:

$("selector").pluginFunction({ prop1: "test"}); 

然後我想進一步得到這個屬性值回。

var x = $("selector").pluginFunction().giveMyValueBack().prop1; 

謝謝!

+1

該插件將不得不實現一種方式讓你得到它。並非所有插件都以相同的方式創建。 – 2013-02-22 18:50:24

+0

是否有你需要的特定插件?插件可以使用不同的約定。 – Marc 2013-02-22 18:50:53

+0

我正在使用同位素。我想要帶回我設置的篩選器屬性 – RobertoBr 2013-02-22 19:53:05

回答

1

由於我不知道這個插件是什麼,你可以將該值作爲數據附加到元素本身。

寫:

$('selector').data('prop1', 'test'); 

閱讀:

$('selector').data('prop1'); 

最終,這是開銷。但不知道如何以及如果插件存儲的價值不容易回答。

假設你使用jquery。

+0

謝謝..我期待所有的jQuery插件會使用它的一種模式。但是,沒關係,你的答案很好。 tks很多 – RobertoBr 2013-02-22 19:26:13

+0

我很震驚,這被選爲我的答案。它不僅需要更多的代碼,而且效率不高。並且,考慮元素中已經存在data- *屬性的情況,這些屬性可能會干擾您傳遞給插件init的屬性。另外,如果元素被刪除,數據也會被刪除。爲屬性設置單獨的對象更清晰,代碼更少,並且不太可能發生任何衝突。 – 2013-02-25 00:06:03

+0

它只是一個可能的解決方案。我特別不喜歡你的答案的「全球」行爲,但這是一個意見。另外,如果元素被刪除,數據將被刪除。接下來的一點是,針對不同選擇器的插件可能會有很多數據。有很多我們不知道的東西。所以也許他只是選擇了最適合他需求的那個。 – 2013-02-25 08:09:10

1

嘗試創建插件屬性作爲單獨的對象,然後將該對象傳遞給pluginFunction。例如。

var pluginData = { prop1: "test"}; 
$("selector").pluginFunction(pluginData); 

然後你總是可以引用pluginData對象。

var prop1 = pluginData.prop1; 
+0

好主意。很明顯,儘管我經常檢索我的jQuery UI滑動條參數,例如'$(「#myslider」)。slider(「options」,「step」);',但我並沒有想到這一點。 – Marc 2013-02-22 19:24:27