我正在使用jQuery將CSS規則添加到元素。例如。 $('#any-el').css('outline', '1px solid red')
。如何臨時修改元素的CSS
我後來與$('#any-el').css('outline', '')
刪除該樣式。
我不想打擾這個元素可能有的任何其他樣式,而且我發現這種方法對於添加了外部或內聯樣式表的CSS很有效,但它會(顯然)修改並刪除任何'大綱「在任何以前的點通過JavaScript添加。
是什麼,以確保「綱要」的風格屬性的值恢復到它以前我修改了它的方式,最好的方式?
這裏是代碼的整個相關部分:(基本上#mask
覆蓋整個頁面和我概述該鼠標懸停,掩模下方的元件)
var last_el = null
$('#mask').mousemove(function(e) {
var mask = $(this).detach()
var el = window.document.elementFromPoint(e.clientX, e.clientY)
if (el != last_el) {
if (last_el) {
$(last_el).css('outline', '')
}
if (el) {
$(el).css('outline', '1px solid red')
}
last_el = el
}
$('body').append(mask)
})
如果DOM對象上已經有一個大綱樣式(這是OP所要求的),這個工作是否會起作用? – jfriend00 2014-10-02 01:49:23
@ jfriend00如果'!important'用於每個規則,除非已經在內聯樣式中使用'!important'。 – plalx 2014-10-02 01:51:11
然後,您應該將其添加到您的答案,因爲它將是解決方案的必需部分。 – jfriend00 2014-10-02 01:54:22