2011-04-04 40 views
1

我有一個元素應用了一些CSS規則如下:使用jQuery獲取特定CSS類

<span class="rule1 rule2 rule3[foo/bar]"></span> 

我可以使用jQuery使用檢索類的完整名單:

var classes = $("span").attr('css'); 

如何我是否選擇了一個特定的規則,在這種情況下,rule3與它的數組內容完成?

+2

帶有數組內容的類名?這種符號對我來說是新的。你從哪裏得到?你是什​​麼意思的「選擇」 - 你想確定一個特定的鏈接是否有這個類? – 2011-04-04 09:36:32

+0

按照grab3的規則進行選擇,因此可以在腳本中使用方括號的內容。我已經繼承了類規則,現在把它們全部改爲使用jQuery data()代替爲時已晚。 – bcmcfc 2011-04-04 09:58:30

回答

2

你可以做通過查詢與jQuery節點像

var myspan = $('span'); 

您現在可以通過調用

myspan.data('rules').rule3 // === "baz" 

參考訪問這些數據屬性。 。

var arr = $('span').attr('class').split(" "); 

然後按照你的意願重複它們。arr[i]

+0

但我同意Peeter的觀點。使用jQuery的'.data()'將是一個更有效的做法。 – 2011-04-04 09:44:07

3

你不應該使用css類來存儲信息。 jQuery提供了將各種數據存儲到特性中的功能,這些特性又被拉入jQuerys .data()expando propertys。

在你的榜樣,這可能看起來像

<span data-rules='{"rule1":"foo","rule2":"bar","rule3":"baz"}'></span> 

這是你的邏輯的JSON字符串化版本。 http://api.jquery.com/data/(節:HTML 5數據 - 屬性)

0

試試這個;

$('span[class~="rule1"]') 

你也可以試試這個;

$('span.rule1')