jquery - 在点击方法中使用 addClass 或toggleClass 与 JQuery 不起作用?漏洞?

标签 jquery css click addclass toggleclass

这看起来很简单..但它仍然无法正常工作。

如果你把类 .normal 放在 .hightlight 之上,我就可以工作了。但我不会改变 这里的风格..只是位置。这没有任何意义..

我似乎无法在这里粘贴 html 代码,所以我必须分块进行。我附上了 所有代码的快照。

确保您有一个空的 html 页面。文档类型并不重要。我在不同的文档类型上测试了它,但它仍然无法正常工作。

这是在标题后面的样式 block 内

.highlight { color:black; background-color:yellow; }
.normal {  color:white; background-color: blue; }

在此之后我有一个带有最新 jquery 代码源的脚本标记 http://code.jquery.com/jquery-latest.min.js

在此之后是一个脚本 block ,这里是:

$(document).ready(function () {
  $('#maindiv').css('cursor', 'pointer');
  $('#maindiv').click(function () {
    //alert("click");
   // $(this).toggleClass("highlight"); //this does not work!
   // $(this).addClass('highlight'); //this does not work!

   // $(this).attr("class", "highlight"); //this works
   // $(this).css("background", "yellow"); this works

    // the javascript way to do this works also fine.
    // var element = document.getElementById('maindiv');
    // element.setAttribute("class", "highlight");
});

});

在正文中有一个 p 标签,其 idname 为“maindiv”,类为“normal”

有文字请点击此处。

好吧,我等不及有人也尝试这个了..这太疯狂了,因为所有其他的 方式的工作。但只有 .addClass 和 .toggleClass 无法正常工作

因为我是新用户,所以我无法在此处附上完整代码的快照, 但您可以在以下位置下载: http://www.bckan.nl/temp/jquerybug.jpg

最佳答案

顾名思义,addClass和toggleClass只是添加类,这意味着您的元素仍然具有.normal,它可能比.highlight具有更高的优先级,因此,您的颜色更改不适用。检查 DOM,您将看到该类已添加。 尝试用 .highlight 替换 .normal,而不是仅仅在 CSS 中添加 .highlight 或将 .normal 放在 .highlight 上。您还可以将 !important 添加到 .highlight 的属性中,但不建议这样做。

关于jquery - 在点击方法中使用 addClass 或toggleClass 与 JQuery 不起作用?漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557417/

相关文章:

jquery - 在更改选择框时更改 BootStrap Datepicker 的 startDate 和 endDate 参数

java - 如何使用 iText 在 pdf 上附加签名?

css - Odoo 10 : How to increase the field width?

css - 如何用像素水平分割网页?

jQuery 点击多个选择器

jquery - 查找单词并换行 div

jquery - Fullpage.js 自动高度修复幻灯片在屏幕中央

css - 即时删除未使用的 CSS?

html - 类似 Twitter 的头像/用户名链接突出显示

javascript - jQuery 单击将我带到页面顶部,但我需要留在我所在的位置