正则表达式:替换所有内容,但不替换特定单词

时间:2010-10-27 16:46:01

标签: javascript jquery regex

我正在尝试在replace();中执行一个简单的JavaScript方法,我想删除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>

4 个答案:

答案 0 :(得分: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 :(得分:0)

您想删除除特定类别之外的所有课程吗?您可以使用jQuery的attr()方法并专门定义该类:

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

以下是此操作的示例:http://jsfiddle.net/decHw/

同样重要的是要注意,如果你想通过它的id在jQuery中选择一个元素,你需要将它包装在引号中。你有:

$(#my_div)

应该是:

$('#my_div')

答案 2 :(得分:0)

$(document).ready(function () {
    if ($(this).hasClass('is_checked') {
      $(this).removeClass();
      $(this).addClass('is_checked');
    }
});

答案 3 :(得分:0)

if ($(this).hasClass('is_checked'))
    $(this).removeClass().addClass('is_checked');
else
    $(this).removeClass();