jquery toggleClass不工作

时间:2012-03-05 15:17:38

标签: jquery toggleclass

由于某种原因,toggleClass函数似乎不起作用。

我有一个带有“nodrag”类的表行 - 与tableDnD插件一起使用:

<tr id="1" class="nodrag">
<!--Some tds and stuff-->       
</tr>

当我点击一个链接时,我想用$(document).ready函数中的以下代码打开和关闭该类:

$("#reorder").click(function(event) {
    $("#1").toggleClass("nodrag");

    if ($(this).text()=='Reorder')
    {
        $(this).text("Done reordering");
    } else {
        $(this).text("Reorder");
    }

    event.preventDefault();
});

我知道点击事件会触发,因为链接的文本会发生变化。我也知道行的选择是有效的,因为如果我用它做其他事情,比如 - $(“#1”)。text(“test”) - 那就有效。

这似乎与toggleClass有关。我到处搜索,发现什么都没有帮助我。

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:1)

您似乎在<tr>标记中输入的内容不在<td>的{​​{1}}标记中 如果您将内容放在tr标记内,我检查它工作正常。 见http://jsfiddle.net/QjjGD/1/

答案 1 :(得分:1)

这是一个非常适合我的现场演示

http://jsfiddle.net/Yjqkn/

尝试一下,让我知道这段代码和你的代码有什么不同。

<强> P.S: 您应该始终避免使用普通数字命名您的ID,如果您被强制这样做,请在数字ex: TblRow1,txt2 之前加上前面的任何字母。但总是建议用有意义的单词命名控件ex: txtUsername,lnkDelete,等。