我知道如果我有一個類名(帶空格),例如帶有破折號和類名空格的jQuery選擇器
my classname
我可以創建一個類選擇有:
.my.classname
但是,我怎麼能如果我有空間之間的破折號像這樣創建一個類選擇:
My - Classname and Others
或者這樣:
My - Clasname
Th提示的anks。
我知道如果我有一個類名(帶空格),例如帶有破折號和類名空格的jQuery選擇器
my classname
我可以創建一個類選擇有:
.my.classname
但是,我怎麼能如果我有空間之間的破折號像這樣創建一個類選擇:
My - Classname and Others
或者這樣:
My - Clasname
Th提示的anks。
爲什麼不能簡單地轉換標題My - Classname
到.my.classname
var title = "Properties Listing - 3 Per Page";
var toClass = '.'+ title.replace(/-/g, '').replace(/\s{1,}/g, '.').toLowerCase() ;
alert(toClass); // .properties.listing.3.per.page
有沒有從第一種情況的差異,除了你的元素將有3類:My
,-
和Classname
。所以,你只需做同樣的選擇:
$(".my.-.classname")
hhhhhmmmm http://jsbin.com/enazek/1 /編輯 –
我甚至有複雜的類名稱,如屬性列表 - 每頁3個,所以選擇器將:.Properties.Listing .-。3.Per.Page,我試着運行它,它不起作用。 –
@roXon我認爲空間是唯一有效的類,當你有另一個類名稱的那個元素http://jsfiddle.net/TnBLf/ – Eli
可以使用attribute selector用於此目的。
$('[class="My - Clasname"]')
注:My - Classname and Others
不是單一類是5類My
,-
,Classname
,and
和Others
的混合。
...其中'-'(作爲獨立的)不是有效的className,因此答案是有效的(?) –
@roXon對不起,錯過了那一點,任何方式,我認爲選擇器將工作 –
我認爲它會,但無論如何...應避免不語義,勘誤容易和所有可能的條款,你可以發明:) –
但是,爲什麼要創建這樣的classNames? – undefined
對於特定的應用程序,這是一個簡短的標題。可能嗎?謝謝。 –
您的第一個選擇器選擇最後一個示例,您不必在選擇器中使用所有類名稱。 – undefined