【问题标题】:Remove style property using jquery使用 jquery 删除样式属性
【发布时间】:2010-12-20 01:35:59
【问题描述】:

我的 css 文件中有这个样式属性:

.table tbody tr:hover th,
.table tbody tr:hover td { background: #d1e5ef; }

我想通过 jquery 删除它,我该怎么做呢?我尝试了 removeClass 和 attr 但不起作用。

【问题讨论】:

  • 您要删除完整的样式定义吗?

标签: jquery css attr removeclass


【解决方案1】:

您需要添加更多的 css 来完成这项工作:

.table tbody tr:hover th,
.table tbody tr:hover td { background: #d1e5ef; }

.table tbody tr.no-hover:hover th,
.table tbody tr.no-hover:hover td { background: inherit; }

您可以使用$(selector).addClass('no-hover') 添加类.no-hover。这将使它们的样式与您拥有的其他 :hover 定义不同。您可能必须使用明确的颜色才能完成这项工作。

【讨论】:

  • 感谢代码,基本上,当人们在 ipad 上查看页面时,我根本不想要 hover 属性。这是因为在 ipad 上,悬停会影响滚动,当我删除此属性时,ipad 上的滚动效果很好。但我不想为普通的台式机/笔记本电脑系统删除它。
【解决方案2】:

你必须解决这个问题,因为 jQuery 不支持伪类。欲了解更多信息,请参阅http://forum.jquery.com/topic/deactivating-the-hover-state-of-a-hyperlink

【讨论】:

    【解决方案3】:

    您不是通过使用类来定义对象的样式,因此显然您无法删除它们。

    它们是您可以使用的一些选项

    给 td 添加一个类

    1.class1{ background: transparent;}

    当你通过 jQuery 添加这个类时,它会起作用

    2通过jQuery改变颜色

    $('table tr td').css('background-color','transparent')
    

    试试这个选项,我认为它会起作用。

    【讨论】:

      【解决方案4】:

      将类添加到td 并为其设置样式,而不是标签本身,然后使用removeClass() 或在hover() 中添加类

      【讨论】:

        猜你喜欢
        • 2021-04-22
        • 2011-08-22
        • 2011-07-20
        • 1970-01-01
        • 2013-02-02
        • 1970-01-01
        • 2011-09-09
        • 1970-01-01
        • 2013-10-21
        相关资源
        最近更新 更多