我正在使用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