我有一個元素應用了一些CSS規則如下:使用jQuery獲取特定CSS類
<span class="rule1 rule2 rule3[foo/bar]"></span>
我可以使用jQuery使用檢索類的完整名單:
var classes = $("span").attr('css');
如何我是否選擇了一個特定的規則,在這種情況下,rule3與它的數組內容完成?
我有一個元素應用了一些CSS規則如下:使用jQuery獲取特定CSS類
<span class="rule1 rule2 rule3[foo/bar]"></span>
我可以使用jQuery使用檢索類的完整名單:
var classes = $("span").attr('css');
如何我是否選擇了一個特定的規則,在這種情況下,rule3與它的數組內容完成?
你可以做通過查詢與jQuery節點像
var myspan = $('span');
您現在可以通過調用
myspan.data('rules').rule3 // === "baz"
參考訪問這些數據屬性。 。
var arr = $('span').attr('class').split(" ");
然後按照你的意願重複它們。arr[i]
但我同意Peeter的觀點。使用jQuery的'.data()'將是一個更有效的做法。 – 2011-04-04 09:44:07
我會考慮使用html5數據屬性來代替。
你不應該使用css類來存儲信息。 jQuery提供了將各種數據存儲到特性中的功能,這些特性又被拉入jQuerys .data()expando propertys。
在你的榜樣,這可能看起來像
<span data-rules='{"rule1":"foo","rule2":"bar","rule3":"baz"}'></span>
這是你的邏輯的JSON字符串化版本。 http://api.jquery.com/data/(節:HTML 5數據 - 屬性)
試試這個;
$('span[class~="rule1"]')
你也可以試試這個;
$('span.rule1')
帶有數組內容的類名?這種符號對我來說是新的。你從哪裏得到?你是什麼意思的「選擇」 - 你想確定一個特定的鏈接是否有這個類? – 2011-04-04 09:36:32
按照grab3的規則進行選擇,因此可以在腳本中使用方括號的內容。我已經繼承了類規則,現在把它們全部改爲使用jQuery data()代替爲時已晚。 – bcmcfc 2011-04-04 09:58:30