2010-10-27 46 views
1

我想在JavaScript執行一個簡單的replace();方法,我想刪除從HTML element每一個類,除了特定的一種,我該怎麼辦呢?正則表達式:取代一切,但不是特定單詞

我想這沒有成功:

<div id="my_div" class="hello letsgo baby is_checked cool">Gordon Freeman</div> 

<script> 
$(document).ready(function() { 
    alert ($(#my_div).attr("class").replace (/^(is_checked)$/, "")); 
    // id'like it returns "is_checked" or "" to work like a boolean; 
}); 
</script> 
+0

你給出了一些應該發生什麼和不應該發生什麼的例子? – Martijn 2010-10-27 16:48:17

+0

對不起,我太倉促了! – vitto 2010-10-27 16:56:33

回答

2

你試圖提醒is_checked時,它的存在,對不對?嘗試使用.hasClass

$(document).ready(function() { 
    if($("#my_div").hasClass("is_checked")) { 
     alert("is_checked"); 
    } 
    else { 
     alert(""); 
    } 
}); 

如果你只是想知道一個元素是否有它一定的階級,這個返回true或false告訴你正是:

$("#my_div").hasClass("is_checked") 
+1

哈哈,我錯過了這個 – vitto 2010-10-27 17:10:20

0

要刪除每個類,除了特定的一種?您可以使用jQuery的attr()方法和具體定義類:

$('#my_div').attr('class','is_checked'); 

下面是這個動作的例子:http://jsfiddle.net/decHw/

另外需要注意的是,如果你想通過id選擇在jQuery的一個元素,你需要用引號包裝它。您有:

$(#my_div) 

它應該是:

$('#my_div') 
0
$(document).ready(function() { 
    if ($(this).hasClass('is_checked') { 
     $(this).removeClass(); 
     $(this).addClass('is_checked'); 
    } 
}); 
0
if ($(this).hasClass('is_checked')) 
    $(this).removeClass().addClass('is_checked'); 
else 
    $(this).removeClass(); 
可能
相關問題