2011-10-21 3 views
0

JavaScript入門者として、JQueryを実行する変数を持つスクリプトを使用するのに苦労しています(正しい言語を使用するのに苦労しています)。jqueryでのjavascriptの作成と変数の使用

私がしたい動作は、特定のdivのCSSクラスを変更することです。私は、次のコード(私は$(ウィンドウ).LOAD(関数()で同じように使用していると、それはdiv要素の異なるセットで動作)持っている#のdet90、:

$("#MYDIVIDHERE").switchClass("sdeth","sdet",50); 

は、だから私は書きました次

<script type="text/javascript"> 
    $(function revealCode(divID) { 
     $("#divID").switchClass("sdeth","sdet",50); 
    }) 
</script> 

としてアンカーからそれを呼ばれる:

onClick="revealCode('det90');" 

私は、問題は、私は、スクリプトを書いて、ブラケット(divIdは)で変数を渡す方法がわからないということだと思います次の行に移動します(ここでは "#divID"が得られます)。 nyのヘルプやチュートリアルへのポインタが感謝して受け取りました!すべてのが、特にカレブに

ソリューション

感謝。私は一般的な関数とonClickを廃止し、IDをアンカーに追加し、そのアンカーに対して次のものを挿入しました(そして、それを使用したい各アンカー/ divの組み合わせに対して繰り返されます):D

。。
$("#linkID").click(function() { 
    $("#divID").switchClass("sdeth","sdet",50); 
}); 

答えて

0
あなたの関数のパラメータで指定されたことに、あなたのコードを変更

ID divIDを持つ要素を探し、そしてません。onClick="revealCode('#det90');"

$(function revealCode(selector) { 
    $(selector).switchClass("sdeth","sdet",50); 
}) 

jQueryのは、「セレクター」を搭載しています - CSSの構文に似ています。

+0

あなたはjQueryの標準に準拠しようとしている場合...あなたが任意のインラインイベントを使用すべきではない、けれども。 onClickを使用する代わりに、$( '#det90')を使うべきです:click(function(){$(this).switchClass( 'sdeth'、 'sdet'、50);}); –

0

あなたの変数名を引用しないでくださいただ、 "#" プレフィックスを引用

<script type="text/javascript"> 
    $(function revealCode(divID) { 
     $("#" + divID).switchClass("sdeth","sdet",50); 
    }) 
</script> 
0

変更するには:あなたは機能0123の周り$()を必要としない

$("#divID")は何

0

これは機能しません。 revealCodeはそのスコープに対してローカルであり、外部には知られていません。また、ハンドラに渡した引数は使用していません。

あなたはjQueryのを使用している場合は、次のようにもハンドラにバインドするためにそれを使用する:

jQuery(document).ready(function() {  
    function revealCode(divID) { 
     $("#" + divID).switchClass("sdeth","sdet",50); 
    } 

    jQuery("#divID").click(function() { 
     revealCode('det90'); 
    });  
}); 
0
はjavascriptのコードにあなたのonclickイベントハンドラの添付ファイルを移動し

。機能コードとhtmlを混在させないようにしてください。

匿名バージョン:

$('#myDiv').click(function() { 
    $(this).switchClass("sdeth","sdet",50); 
}); 

ノーマルバージョン:

var myFunction = function (element) { 
    $(element).switchClass("sdeth","sdet",50); 
}; 

$('#myDiv').click(myFunction, {element: this}); 
関連する問題