2012-04-29 41 views
3
​<button id="test" class="example whatever">Show classes</button>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

$('button').click(function(){ 
    var classes = $(this).attr('class'); 
    alert(classes); 
});​ 

上面的代码返回class属性的内容。我怎样才能让它返回格式化的类?在jQuery中获取当前元素的类

例如,在这种情况下,我希望变量classes的值为.example.whatever而不是example whatever

我搜索了,似乎提供的唯一解决方案是我上面演示的代码。

回答

6

我真的对此非常不安,因为用句代替空格会给堆叠类,当类没有真正堆叠的表现,但在这里你去:

// class="foo bar fiz buz" -> .foo.bar.fiz.buz 
this.className.replace(/^|\s/g , "."); 

演示:http://jsbin.com/awitef/edit#javascript,html

+0

'this.className.trim()代替(?| ''/(^ \ S +)(= \ w)的/克,);'还负责空弦,领先或t栏杆空白,以及班级之间的多个空格 – 2012-11-02 19:55:46

1
$('button').click(function(){ 
    var classes = $(this).attr('class'); 
    alert("." + classes.split(" ").join(".")); 
}); 

小提琴这里:http://jsfiddle.net/wxDEh/3/