2011-09-22 8 views
0

クリックイベントでテキストボックスに適用されるスタイルクラスを削除するにはどうすればよいですか?私はgetElementsByName()を使ってtextbox要素を呼び出しています。私のコードは次のとおりです:スタイルワンクリックイベントを削除するには?

<input id="userNameExists" name="popUpText" class="pop-upText" onclick="clearText(this);" /> 

function clearText(element) 
{ 
       id = element.getAttribute("id"); 
       var textElement = document.getElementById(id); 
       textElement.value = ""; 
       var element = document.getElementsByName("popUpText"); 
       var count = 0; 
       for (count = 0; count < 2; count++) { 
        var id = element.item(count); 
        id.classname = ""; 
       } 
} 

上記のスクリプトでは、idが変数idに含まれていません。今の値は "#inputTextBoxName"のようなものです。助けてください。

+0

jQueryでこれを行う方法を知るには、この記事をチェックしてください:http://stackoverflow.com/questions/955030/remove-css-from-a-div-using-jquery –

+1

関数の最初の2行は冗長です:関数の 'element'パラメータには既にクリックされた要素への参照が含まれているので、そのidを取得してから' getElementById() 'に渡すと' element'と 'textElement'の点同じ入力でまた、私はパラメータと同じ名前の変数を宣言することを避けたい。最後に '.classname'は' .className'(大文字N)でなければなりません。 – nnnnnn

答えて

1

あなたはattr();

EXP使ってスタイリングを馬術学校できるので大文字と小文字が区別されます:

$("#yourid").attr("style","float: right"); 

または

を使用してクラスを削除します
$("#yourid").removeClass("yourClass"); 
+0

次のようにgetElementsByNameと一緒に使用すると、クラスをリセットできます。element = document.getElementsByName( "popUpText"); id = element.item(0)はidを返します。変数 'id'には、クラスをどのようにリセットできますか? – NewBie

+0

変数id = $( "#" + id).removeClass( "yourClass")からクラスを削除する場合は、 –

0

それはあなたがremoveClass();

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

id.className = ''; 
0

テキストボックス自体をクリックしたときにクラスをテキストボックスから削除しようとすると、そのコードは必要以上に長くなります。

HTML:

<input type="text" id="userNameExists" name="popUpText" class="pop-upText" onclick="clearText(this);" /> 

Javascriptを:言っ

<script> 
function clearText(element) { 
    element.className = ''; 
    element.value = ''; 
} 
</script> 

、インラインのイベントハンドラ(つまり、あなたのHTML要素にonclick属性を宣言する。)に入るために悪い習慣です。

また、要素への参照を渡してそのIDを取得し、そのIDでdocument.getElementById()を呼び出すと、同じ要素への参照が2つになります。はい、それは動作するはずですが、まったく意味がありません。