2013-04-03 42 views
-1

我知道如果我有一個類名(帶空格),例如帶有破折號和類名空格的jQuery選擇器

my classname 

我可以創建一個類選擇有:

.my.classname 

但是,我怎麼能如果我有空間之間的破折號像這樣創建一個類選擇:

My - Classname and Others 

或者這樣:

My - Clasname 

Th提示的anks。

+0

但是,爲什麼要創建這樣的classNames? – undefined

+0

對於特定的應用程序,這是一個簡短的標題。可能嗎?謝謝。 –

+0

您的第一個選擇器選擇最後一個示例,您不必在選擇器中使用所有類名稱。 – undefined

回答

0

爲什麼不能簡單地轉換標題My - Classname.my.classname

LIVE DEMO

var title = "Properties Listing - 3 Per Page"; 
var toClass = '.'+ title.replace(/-/g, '').replace(/\s{1,}/g, '.').toLowerCase() ; 

alert(toClass); // .properties.listing.3.per.page 
0

有沒有從第一種情況的差異,除了你的元素將有3類:My-Classname 。所以,你只需做同樣的選擇:

$(".my.-.classname") 
+0

hhhhhmmmm http://jsbin.com/enazek/1 /編輯 –

+0

我甚至有複雜的類名稱,如屬性列表 - 每頁3個,所以選擇器將:.Properties.Listing .-。3.Per.Page,我試着運行它,它不起作用。 –

+0

@roXon我認爲空間是唯一有效的類,當你有另一個類名稱的那個元素http://jsfiddle.net/TnBLf/ – Eli

0

可以使用attribute selector用於此目的。

$('[class="My - Clasname"]') 

注:My - Classname and Others不是單一類是5類My-ClassnameandOthers的混合。

+0

...其中'-'(作爲獨立的)不是有效的className,因此答案是有效的(?) –

+0

@roXon對不起,錯過了那一點,任何方式,我認爲選擇器將工作 –

+0

我認爲它會,但無論如何...應避免不語義,勘誤容易和所有可能的條款,你可以發明:) –

相關問題