我知道如果我有一个类名(带空格),例如带有破折号和类名空格的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