jQuery删除样式

Posted

技术标签:

【中文标题】jQuery删除样式【英文标题】:Jquery remove style 【发布时间】: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() 或其他功能以某种方式将其删除。感谢您的解释。 【参考方案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颜色?

以上是关于jQuery删除样式的主要内容,如果未能解决你的问题,请参考以下文章

jQuery删除样式

jquery 如何动态添加、删除class样式

怎样用jq在某个样式中删除某一条样式

jquery如何删除选中的css样式

jQuery删除多种样式[重复]

JQuery属性与样式——删除样式.removeClass()和切换样式.toggleClass()