2013-05-01 80 views
1

我刮這個網站消息:http://www.nu.nl/擺脫的背景屬性

如果打開控制檯,然後輸入:

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

你會看到被刪除的所有背景屬性,除了一個是第一篇文章中的「藍色」鄉紳。當我追蹤原始的CSS時,我發現它已經賦予它重要的聲明。我不知道這是否會造成它的持久性。根據Jquery和Javascript或CSS,我可以嘗試擺脫那種藍色背景?

請注意我不想定位元素本身,而是繼續使用全部(*)選擇器或一些Javascript等效。

+0

也許使用'false'而不是''none''幫助? – rednaw 2013-05-01 14:43:29

+2

使用此線程。它被測試和確認[1] [1]:http://stackoverflow.com/questions/4384213/remove-background-color-images-for-all-elements-with-jquery – 2013-05-01 14:44:04

+0

@Borsel沒有提供的答案將工作,你可以測試它,新聞網站有jquery安裝 – Youss 2013-05-01 14:47:01

回答

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'); 

這是一個非常具體的選擇。一些規則可能仍然會通過這個規則,並且您將不得不根據場景嘗試不同的變體。

+0

非常感謝你:) – Youss 2013-05-01 15:01:48

+0

嗨我試過'html body .noBG',但它不工作,任何想法,爲什麼這是? – Youss 2013-05-01 15:03:49

+0

@Youss,因爲它沒有足夠的選擇器。你可能需要使用多個'html #page .noBG,html body .noBG,html #selector .noBG'。您需要了解CSS選擇器的特殊性。 – Ohgodwhy 2013-05-01 15:05:26