2012-03-01 7 views
0

ボタンをクリックすると、私のコンテンツのdivの下にあるliのクラスの名前を変更したいと思います。それを行う方法はありますか?私のコードは以下の通りです。jqueryのdivのクラス名を変更する

<div id="mycontent"> 
    <ul id="sortable"> 
    <li id="1" class="myclass">Item 1</li> 
    <li id="2" class="myclass2">Item 2</li> 
    <li id="3" class="myclass3">Item 3</li> 
    <li id="4" class="myclass4">Item 4</li> 
    </ul> 
</div> 

$(document).ready(function() 
    { 
    $("#submit_prog").click(
     function()    
      {      
      $.ajax(
      { 
       type: "POST", 
       url: "sort2.php",        

      });  
     }); 
    }); 
+2

を有効な番号で始まるIDですか? – gdoron

+1

@gdoron、あなたは絶対に正しいですIDの番号を使用することはできません –

+1

* "IDとNAMEトークンは文字([A-Za-z])で始まり、任意の数の文字、数字([0 ( "_")、コロン( ":")、およびピリオド( "。")」を使用しています。* * [This(http://stackoverflow.com/questions)/70579/what-is-valid-values-in-the-id-attribute-in-html) – gdoron

答えて

3

私はjQueryのようなものになるだろうかなり確信している:各li要素に

$("#mycontent li.myclass2").removeClass("myclass2").addClass("myOtherClass2"); 

...など。あなたは(ID myClassChangeButtonと、この例では)ボタンのクリックイベントにそれを追加します

$("#mycontent li").removeClass("myclass myclass2 myclass3 myclass4").addClass("myOtherClass2"); 

:あなたはこれを使用して、すべてliの要素のクラスを変更したい場合

$("#myClassChangeButton").click(function(){ 
    $("#mycontent li.myclass").removeClass("myclass").addClass("myOtherClass"); 
    $("#mycontent li.myclass2").removeClass("myclass2").addClass("myOtherClass2"); 
    $("#mycontent li.myclass3").removeClass("myclass3").addClass("myOtherClass3"); 
    $("#mycontent li.myclass4").removeClass("myclass4").addClass("myOtherClass4"); 
}); 
+0

上記のjqueryコードをsort2.phpで使用する方法はありますか?私はそれをサーバー側で実行したいからです。 – user1077300

+0

私の知っている限り、jQueryコード、またはサーバー側で同様のものを使用する方法はありません。これは_browser_ベースの(DOMを操作する)_JavaScript_フレームワークです。 PHPの実装はありません。このノートでは、サーバー側(DOMがないところ)のやり方を尋ねるなら、PHPスクリプトレットを使用してクラスを設定するだけでは不思議ではありません。私はあなたの質問を理解できないかもしれませんが、しかし、。 –

0

はい。これを試してみてください:この線に沿って

$('.button').click(function(){ 
    $('li#4') .removeClass(); 
    $('li#4').addClass('your_class') 
}); 

何かが

1

使用を動作するはずです、これはID mycontentとのdivにli要素からクラスmyclass2を変更するには:

$('#button').click(function(){ 
    $('#mycontent li.myclass2').removeClass().addClass('newClass'); 
}); 

編集:

コードジョッキーは、これですべてのクラスが削除されると述べましたそうです.myclass2 とli要素から、その将来の読者のために、これが唯一の.myclass2削除します:

$('#mycontent li.myclass2').removeClass('myclass2').addClass('newClass'); 
+1

この例では当てはまりませんが、実際の状況では適用される可能性があるリスト項目(それぞれに複数のクラスがある場合)からすべてのクラスが削除されることに注意してください。 –

+0

これに言及いただきありがとうございます、私は将来の読者のための答えを編集しました!あなたの答えは+1。 – Fabian

+0

問題ありません - 幸せに助けてください:) –

関連する問題