如果我用設置一個特定的元素上的CSS值:如何使用jQuery取消元素的CSS屬性?
$('#element').css('background-color', '#ccc');
我希望能夠取消設置特定元素的值,並使用級聯值,沿着線:
$('#element').css('background-color', null);
但是,這種語法似乎不工作 - 這可能使用另一種語法?
在此先感謝!
編輯:該值不是從父元素繼承的 - 原始值來自元素級選擇器。對不起,有任何困惑!
如果我用設置一個特定的元素上的CSS值:如何使用jQuery取消元素的CSS屬性?
$('#element').css('background-color', '#ccc');
我希望能夠取消設置特定元素的值,並使用級聯值,沿着線:
$('#element').css('background-color', null);
但是,這種語法似乎不工作 - 這可能使用另一種語法?
在此先感謝!
編輯:該值不是從父元素繼承的 - 原始值來自元素級選擇器。對不起,有任何困惑!
的樣式屬性的值設置爲空字符串 - 例如
$('#mydiv').css('color', '')
- 如果元素已經直接應用,則將其從元素中移除,無論是在HTML樣式屬性中,通過jQuery的.css()
方法,還是通過對style
屬性的直接DOM操作。但是,它不會刪除已在樣式表或<style>
元素中應用CSS規則的樣式。
試試這個:
$('#element').css('background-color', 'inherit');
其實,我認爲語法是不正確的(與null
)似乎是工作 - 我的選擇只是不當形成的,從而產生沒有元素。 D'哦!
從jquery 1.4.3`css(...,null)`不起作用,`css(...,'')`應該用來代替 - http://bugs.jquery.com/ticket/ 7233 – 2011-04-04 23:37:43
@cdleary您應該更正您的答案或選擇正確的答案。 – 2014-07-25 09:42:00
我想你也可以這樣做:
$('#element').css('background-color', '');
這就是我用來做一個很久以前的display
物業以純老JavaScript來顯示/隱藏字段。
對於它的價值,這似乎不是在IE 8中運行的「過濾器」,我只好用這種(以淡入回調):顯然
$(this).attr('style', $(this).attr('style').replace(/\bfilter:\s*;*/, ''));
,我需要刪除一個空的內聯過濾器聲明,以便CSS可以生效;還有其他內聯規則,所以我不能刪除style屬性。
不幸的是,繼承不是我正在尋找的行爲:「該屬性採用與該元素父級的屬性相同的計算值」來自http://www.w3.org/TR/CSS2/cascade.html – cdleary 2009-01-29 09:02:32