JQuery通过给定的id更改类

时间:2011-04-05 14:30:42

标签: javascript jquery

我有很多表,例如:

<table class="onion" id="12">

当点击名为“Mark_Pre_Val”的div时,我想要id为4,6,12和12的表格。 21 把他们的班级改为“洋葱点击”,如果其中一个已经是“洋葱点击”,那就不要了 改变班级。

以下是点击事件:

    $(".Mark_Pre_Val").click(function(){       });

有人能指出我正确的方向如何处理这个问题吗?

4 个答案:

答案 0 :(得分:17)

$(".Mark_Pre_Val").click(function(){ 
  $('#4, #6, #12, #21').removeClass('onion').addClass('onionClick');
});

编辑:正如其他人所指出的那样,元素ID不应只包含数字。如果您在循环中输出这些表并使用ID作为迭代器,您可能会发现使用index()更优雅。

答案 1 :(得分:3)

请不要把以数字开头的ID。


$(".Mark_Pre_Val").click(function(){
    $("#4, #6, #12, #21").removeClass("onion").addClass("onionClick");
});

答案 2 :(得分:3)

$("#Mark_Pre_Val").click(function(){

    $("#4,#6,#12,#21")
        .not("onionClick")
        .removeClass("onion")
        .addClass("onionClick");

});

修改

上述答案都不会起作用,因为如果您选择类.Mark_Pre_Val,则不会触发click事件。你说你的div被命名为Mark_Pre_Val,所以你需要在选择时使用#。另外......为什么不使用not()立即过滤那些没有你要改变的类的,然后删除旧类,最后添加新类?

答案 3 :(得分:-1)

$('#4,#6,#12,#21')。toggleClass('onionClick');