1

我正在尝试更改表中所选行的类。每行都有相同的类名开头。每当用户单击图像时,类名称都会更改。(想想 gmail 的已加星标/未加星标的电子邮件)

我有以下代码

$(document).ready(function() {
$(".notSelected").click(function() {
    $(".notSelected").removeClass(".notSelected").addClass(".selected");
    });
});​

编辑:我想标记/突出显示每个选定的行。
jsfiddle

关于如何解决这个问题的任何建议?谢谢

4

4 回答 4

2

当有人单击.notselected并将其更改为“已选择”时,这将更改类。Remove 和 AddClass 需要不带点。此外,您的班级名称未选择而不是未选择。

$(document).ready(function() {
    $(".notselected").click(function() {
     $(this).removeClass("notselected").addClass("selected");
    });
});​

http://jsfiddle.net/J8Ehr/1/

顺便说一句,看看toggleClass也许它会帮助您以另一种方式定义它。

另注:您要更改行类,上面的答案只会更改字段类。如果您想更改行的类,请尝试以下操作(未测试):

$(document).ready(function() {
    $(".notselected").click(function() {
     $(this).parent('tr').removeClass("notselected").addClass("selected");
    });
});​
于 2012-10-28T07:56:06.770 回答
1

您的元素具有notselected类名,并且您的选择器尝试查找具有 class of 的元素notSelected,您也不应该使用.withaddClassremoveClass方法。

$(document).ready(function() {
    $(".notselected").click(function() {
        $('.notselected').removeClass('selected')
        $(this).addClass("selected")
    });
});

http://jsfiddle.net/sxY6z/

于 2012-10-28T07:58:38.803 回答
0

您可能正在寻找:

$(document).ready(function() {
$(".notselected").click(function() {
    $(".selected").removeClass("selected").addClass("notselected");
    $(this).removeClass("notselected").addClass("selected");
    });
});​

两个问题。一,你申请的课程notselected不是notSelected。第二,您不需要.在 removeClass 参数中使用 a 。此外,您在原始小提琴中加载了 MooTools,而不是 jQuery。

http://jsfiddle.net/J8Ehr/6/

于 2012-10-28T08:03:51.073 回答
0

类的名称足以添加/删除。去掉前缀的点..

对于未选择的类,还将s设置为小写

$(document).ready(function() {
    $(".notselected").on('click',function() {
        $('.notselected').removeClass("notselected")
            $(this).addClass("selected");
    });
});​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

小提琴

于 2012-10-28T08:05:16.963 回答