2012-04-29 38 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/