2012-03-01 41 views
0

單擊按鈕時,我想要更改mycontent 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 2012-03-01 13:55:53

+1

@gdoron,你是絕對正確的,不能使用編號爲 – 2012-03-01 14:01:10

+1

*「ID和名稱標記必須以字母([A-Za-z])開頭,後面可以跟任意數量的字母,數字([0 -9]),連字符(「 - 」),下劃線(「_」),冒號(「:」)和句點(「。」)。「*閱讀[this](http://stackoverflow.com/questions/70579/what-are-valid-values-for-the-id-attribute-in-html) – gdoron 2012-03-01 14:02:34

回答

3

我敢肯定jQuery的會是這樣的:每個li元素

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

...等。

,如果你想改變類的li所有元素,使用:

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

你將它添加到click事件上的按鈕(在這個例子中ID爲myClassChangeButton):

$("#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

有沒有在sort2.php中使用jquery代碼的方法?因爲我想在服務器端執行它。 – user1077300 2012-03-01 14:39:47

+0

如果我理解你的問題,據我所知,沒有辦法使用jQuery代碼,甚至在服務器端使用類似的東西 - 這是一個基於_browser_(DOM操作)的_JavaScript_框架。沒有PHP實現。 - 在這個說明中,如果你問如何做這個服務器端(沒有DOM),我不知道你爲什麼不使用PHP腳本來設置類 - 我可能不瞭解你的問題,雖然。 – 2012-03-01 15:09:34

0

是的。試試這個:

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

沿着這條線的東西應該工作

1

使用此類myclass2li元素用id mycontent更改DIV:

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

編輯:

代碼騎師提到,這將刪除所有類從.myclass2 li元素這是正確的,所以對於未來的讀者,這隻會刪除.myclass2

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

請記住,這將刪除列表項中的所有類(如果每個類都有多個類),這些不適用於該示例,但可能適用於實際情況。 – 2012-03-01 14:09:50

+0

謝謝你提到這個,我爲未來的讀者編輯答案! +1爲您的答案。 – Fabian 2012-03-01 14:31:36

+0

沒問題 - 高興幫忙:) – 2012-03-01 15:11:12