2012-04-27 28 views
1

私はjQueryの.attr( 'class')を使用しているときに、 'class1 class2 class3'を返します。別のクラスになっていると思います。クラスを選択するにはどうすればいいですか? class1では、返されるクラス名をどのように反復するのですか?これらは分割する必要がある文字列か、これらのオブジェクトですか?ありがとう!.attr( 'class')は、複数のクラス名を返します。使用するクラス名を選択する方法は?

ところで、 私のHTMLは次のようになります。私はそれが返さ.ATTR( 'クラス')に.spilt使用して作業してしまった

<td class ="class1 class2 class3"> 

。私の目標は、2番目のクラスを取得し、いくつかの.css()を実行することです。

+0

あなたはそれを変更したいとお考えですか? 'addClass'と' removeClass'があります。 –

+0

@sammiwei何をしたいですか? –

答えて

4

プロパティclassまたはclassNameプロパティは、スペースで区切られたクラス名のリストを単一の文字列で返します。その属性を手動で操作したい場合は、文字列を手動で解析して結果のクラス名にする必要があります。それは文字列であり、個々のオブジェクトではありません。

幸いなことに、jQueryを使用しているときは、めったに自分で行う必要はありません。それはだ、別のものを1つのクラスを削除し、追加するには

.hasClass(classname) 
.replaceClass(oldName, newName) 
.removeClass(classname) 
.addClass(classname) 

:あなたは、追加、削除または単一のクラス名を変更したい場合は、あなたのためのすべての解析を行いますこれらのjQueryのメソッドのいくつかを組み合わせて使用​​することができますこのように2つの機能を連鎖させるのは珍しいことではありません。

x$.removeClass("foo").addClass("bar"); 

あなたは本当にただのクラス名をセレクタに使用したい場合は、あなたがすべてではjQueryに組み込まれたセレクタライブラリなどのオブジェクトの上にあるどのように多くの他のクラス名を心配する必要はありませんあなたのためにすべてを処理します。たとえば:

$(".myClassName").css("color", "red"); 

はどこにでもclassNameプロパティでmyClassNameを持つすべてのオブジェクトを検索し、それらのオブジェクトに指定されたCSSを適用します。

1

class selectorを使用してjQueryのは、あなたのための作業を行う必要があり:

$('td.class1').css(); 
0

Javascriptを

$(document).ready(function() { 
    alert('Class 1 = ' + $('#test').attr("class").split(" ")[0]); 
    alert('Class 2 = ' + $('#test').attr("class").split(" ")[1]); 
    alert('Class 3 = ' + $('#test').attr("class").split(" ")[2]); 
}) 

Htmlの

<div id="test" class="class1 class2 class3"></div> 

ライブスクリプト: http://jsfiddle.net/7ZDP4/

+0

オブジェクトから直接['.className'](https://developer.mozilla.org/ja/DOM/element.className)を使用することもできます。 –

0
$('td.class1').css('background','red'); 
$('td.class2').css('background','blue'); 

編集、objeft与え、あなたも使用することができます。

if ($(this).hasClass('class1')){ /* do this */ } else { } 
+0

これはCSSでのみ行う必要があります(要素にスタイルを適用する代わりに、クラスの追加や削除を試みるべきです) –

2

あなたはクラス

-1

に私があることが判明方法を操作するためにjqueryのclass methods(addClass、removeClass、hasClass、toggleClass)を使用することができますクラスを使用する代わりに別のエンティティとしてattr "href"を使用するのが最も簡単です。

<td class="class1 class2" href="WhatYouWantToGrab" ></td> 

は、次にjQueryのでは、あなただけのこの

$('.class1.class2').click(function() { 
    var yourVariable = $(this).attr('href'); 

}); 

・ホープこのことができますを行うだろう。

関連する問題