【问题标题】:Jquery - change CSS property (but don't add the "style" attribute to div)Jquery - 更改 CSS 属性(但不要将“样式”属性添加到 div)
【发布时间】:2016-10-23 16:35:31
【问题描述】:

我有这样的代码:

    if ($(this).css("background-color")==="rgb(217, 217, 217)") {
        $(this).css("background-color", "#999");
    }else{
        $(this).css("background-color", "#fff");
    }

但是bg color rgb(217,217,217)是hover BG变色效果...

当我改变我的 div 的背景颜色时..... ---> jquery 正在添加一个 "style=" ... " 属性 到我的 DIV,

但在那之后我的 css 悬停代码不再起作用,因为“样式”属性阻止了我的“类”属性...

那么如何在不直接将 style="" 属性添加到我的 DIV 的情况下使用 jquery CSS 类属性进行更改?

感谢您的帮助

这是我的小提琴演示

https://jsfiddle.net/qcvcga8k/24/

请点击名字“Manuel Neuer”(列表中的第一个) BG变为灰色后,再次点击名称.... BG再次变为白色,但是没有悬停效果...

如果你对我有任何提示,我会很高兴;)

谢谢

亚历克斯

【问题讨论】:

  • 将样式设置为类并使用$(this).addClass('myClass'); 而不是使用.css(...) 进行操作
  • 不是目标!但我在这里找到了一个解决方案: $(this).attr('class', 'greyRow'); --------> 感谢您的帮助!
  • 抱歉介入,$(this).attr('class', 'greyRow'); 对 jQuery 的使用效率很低,它有专门的方法来管理类值。

标签: jquery


【解决方案1】:

为此定义一个 CSS 类,在 <style> 元素中:

tr:selected { background-color: #999 }

然后替换你的代码:

if ($(this).css("background-color")==="rgb(217, 217, 217)") {
    $(this).css("background-color", "#999");
}else{
    $(this).css("background-color", "#fff");
}

用这个:

$(this).toggle('.selected');

【讨论】:

    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2015-02-14
    • 2019-01-29
    • 2014-03-18
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多