2012-01-05 8 views
0

HTMLクラス名の代わりにjavascript関数呼び出しを入れて、関数の結果に基づいてクラスを設定することはできますか?例えば、のようなもの:fSetClass(という名前の関数を呼び出す)とVNAMEはそれで渡されたパラメータに基づいて、有効なCSSクラス名をバック受け取ることになるjavascriptを使用してHTMLクラス名を設定する

<a class="fSetClass(vName)" .... 

。あなたはjQueryのを使用する場合には、使用attrの代わりにクラスを設定したい場合は

おかげ

+0

そして、そのクラス名にページの初期化に一度設定されるだろうか? PHP/C#/ ... –

+1

いいえ、JavaScriptを使って要素のクラス名を変更することはできますが( 'class =" fSetClass() "'のようなことはできませんが、これが動作することを期待してください)。 JavaScriptクラスではありません。 –

+0

jQueryのaddClass()またはremoveClass()関数のような意味ですか? – denolk

答えて

-1

、あなたがaddClass機能

$(element).addClass('add-this-class'); 

を使用することができます。

$(element).attr('class','add-this-class'); 
+2

jQueryを使用していない場合はどうなりますか? –

+0

クラスの追加!=クラスの設定 – hugomg

+0

セッターを追加しました。 –

1

いいえ、そうではありませんHTML内であなたが求めていることをすることができます。ただし、JavaScriptを使用して後でクラスを追加することはできます。

0

ありませんが、何を行うことができますするアイテムを取得し、それから、クラス名を追加または削除するために使用するjQueryのです:

HTML

<div class="my-class">My Content</div> 

jQueryの

// will produce <div class="my-class added-class">My Content</div> 

var addClass = 1; 

if(addClass == 1) { 
    $(".my-class").addClass("added-class"); 
} 
else 
{ 
    $(".my-class").removeClass("removed-class"); 
} 
0

のみon*イベントハンドラー属性はJavaScriptコードとして評価され、他の属性は評価されません。

既に述べたように、クラスには通常JavaScriptを割り当てる必要があります。あなたは要素(element)への参照を持っていると仮定すると、あなたはclassName[MDN]プロパティにクラスを割り当てる必要があります:

element.className = fSetClass(vname); 
0

あなたはjqueryのを使用する場合は、(.ATTR使用してクラスを設定することができます):

このような
$(document).ready(function() { 
    function fSetClass(vName){ 
    $("#element_id").attr('class', vName); 
    } 

    fSetClass('className'); 

}); 
1

SMTH、短い道
document.onload = function(){
document.getElementById('your-element-id').className = fSetClass(vname);
}

関連する問題