如何使用JQuery仅删除Style attr的位置(顶部和左侧)?

rav*_*ran 10 javascript jquery

我只在视图超出窗口的视口时动态设置元素的位置attr,在其他情况下,默认值是从css文件设置的,

.css( { "left": (left + 20) + "px", "top": (top+10) + "px" } );
Run Code Online (Sandbox Code Playgroud)

一旦设置了动态位置,我想单独删除位置attr.

我可以删除样式属性,它也将是我需要的样式的显示属性.

有没有办法单独删除位置attr?

Mik*_*ike 29

也许,你最好的赌注是简单地将它们设置为默认值.顶部和左侧的默认值为"auto".所以:

jQuery(selector).css({
   'top': 'auto',
   'left': 'auto'
})
Run Code Online (Sandbox Code Playgroud)


Kev*_* C. 7

$(el).css('top', ''); 将删除内联样式声明,恢复为样式表中指定的内容或默认值.


eye*_*ess 3

我不确定您是否要求删除positionHTML 属性、position样式或top多个left样式。在任何情况下,您都可以使用 删除任何属性$.removeAttr(),并且可以使用 ; 删除(动态分配的)样式$.css({ styleName: '' })

编辑:看来您想要$.css({ position: '' }),或者更有可能$.css({ position: 'static' }),因为这是默认值。