我在抓这个新闻网站:http://www.nu.nl/
如果您打开控制台并输入:
$('*').css('background', 'none');
您将看到所有背景属性被删除,除了第一篇文章中的“蓝色”乡绅。当我跟踪原始CSS时,我看到它分配了!important声明。我不知道这是否会导致它的持久性。我可以尝试在Jquery和Javascript或CSS方面摆脱蓝色背景?
请注意我不想定位元素本身,而是继续使用all(*)选择器或一些Javascript等价物。
答案 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');
这是一个非常具体的选择器。有些规则可能仍会通过此规则,您必须根据具体情况尝试不同的变体。