摆脱背景属性

时间:2013-05-01 14:40:01

标签: javascript jquery css

我在抓这个新闻网站:http://www.nu.nl/

如果您打开控制台并输入:

$('*').css('background', 'none');

您将看到所有背景属性被删除,除了第一篇文章中的“蓝色”乡绅。当我跟踪原始CSS时,我看到它分配了!important声明。我不知道这是否会导致它的持久性。我可以尝试在Jquery和Javascript或CSS方面摆脱蓝色背景?

请注意我不想定位元素本身,而是继续使用all(*)选择器或一些Javascript等价物。

1 个答案:

答案 0 :(得分:1)

jQuery无法识别css定义中的!important属性。您只需要一个更具体的分层选择器。只需创建一个新类,然后使用addClass。

$('head').append('<style type="text/css">html #page .noBG{ background:none !important; }</style>');

然后只需将该类添加到所有内容中。

$('*').addClass('noBG');

修改

根据以下评论,您可以尝试

$('head').append('<style type="text/css">html body#noBG *{ background:none !important; }</style>');

然后将ID添加到正文

$('body').prop('id', 'noBG');

这是一个非常具体的选择器。有些规则可能仍会通过此规则,您必须根据具体情况尝试不同的变体。