【问题标题】:Jquery remove stylejQuery删除样式
【发布时间】:2013-06-28 10:35:55
【问题描述】:

如何使用 JQueryfirst p删除 .parent p 颜色样式 所以first p 可以使用body颜色样式 ?

HTML

<div class="parent">
    <p>1. Child</p>
    <p>2. Child</p>
    <p>3. Child</p>
</div>

CSS

body{
    color:green;
}

.parent p{
    color:red;
}

我试过了

$('.parent p:first').removeClass();

但这不起作用,因为p:firstcolor 来自.parent p

我知道我可以使用 css() ,但我想知道我是否可以删除样式?

JSFiddle

【问题讨论】:

  • 你需要设置css $('.parent p:first').css('color', 'green')
  • 我知道我可以使用 css() ,但我想知道我是否可以删除样式?
  • 由于样式来自 css 元素/页面,您不能只删除它,您需要使用元素级 css 条目覆盖它
  • @DadoJerry removeClass() 从元素中删除所有类。
  • @ArunPJohny 我认为可以使用removeClass() 或其他功能以某种方式将其删除。感谢您的解释。

标签: jquery jquery-selectors


【解决方案1】:

正如我在 cmets 中解释的那样,由于颜色是使用 css 定义 .parent p 设置的,因此您无法删除该样式,您需要使用元素级别/css 定义来覆盖它。

为了使用元素级别覆盖使用

$('.parent p:first').css('color', 'green')

或者在你的 css 文件中添加一个使用 first-child 的定义

.parent p:first-child{
    color: green;
}

【讨论】:

  • 因为color 设置在body 元素中,color:inherit 更适合 - JSFiddle。谢谢
  • @Vucko 如果颜色继承更适合,你应该接受下面的答案。
  • @silentw 你没有像 Arun 一样提供详细的答案,所以我接受了他的回答并给了两个 +1。
【解决方案2】:
$('.parent p:first').css('color', 'inherit');

EXAMPLE

【讨论】:

    【解决方案3】:

    试试这个

     $('.parent p:first').css('color','initial');
    

    演示:http://jsfiddle.net/85zBy/

    【讨论】:

    • 这不使用body 颜色。有没有办法设置默认的initial颜色?
    猜你喜欢
    • 2013-04-05
    • 2019-03-06
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多