2012-04-29 15 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の空のStringの値白い空白、およびクラス間の複数の空白 –

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

ここフィドル:。http://jsfiddle.net/wxDEh/3/

関連する問題