Jquery 如何获取元素的编写样式属性?
我正在使用jQuery为页面上的元素设置动画 为了在最后重新初始化我所有元素的位置,我需要获取我元素的编写属性,在我的样式表中以%指定 我首先使用了Jquery 如何获取元素的编写样式属性?,jquery,css,computed-style,Jquery,Css,Computed Style,我正在使用jQuery为页面上的元素设置动画 为了在最后重新初始化我所有元素的位置,我需要获取我元素的编写属性,在我的样式表中以%指定 我首先使用了.css()函数,但它给出了我不想要的计算值。我正在寻找我在CSS中声明的值(百分比或像素) 有什么办法吗?解决方案是使用.position()而不是.css('top')或.css('left'),然后将值转换成百分比 @CécileBoucheron 看看这个,看看它是否能让你对如何处理你的具体情况有所了解 这并不完美,如果您使用%值声明原始位置
.css()
函数,但它给出了我不想要的计算值。我正在寻找我在CSS中声明的值(百分比或像素)
有什么办法吗?解决方案是使用
.position()
而不是.css('top')
或.css('left')
,然后将值转换成百分比 @CécileBoucheron
看看这个,看看它是否能让你对如何处理你的具体情况有所了解
这并不完美,如果您使用%值声明原始位置,jQuery将返回元素的像素位置,因此如果您的设计需要响应,这可能是不够的
需要注意的一件有趣的事情是,如果您的元素最初是隐藏的-display:none
,并且在显示元素之前记录其原始CSS声明的位置,您将获得CSS样式中声明的%age值。对你来说可能有用吗
干杯 @CécileBoucheron:在通过jQuery设置元素动画之前,您必须记录每个元素的原始CSS值;我已经使用数据属性记录了值,但是有很多方法可以实现。或者,如果可以的话,可以通过
element.attr(“style”,“…”)
设置值来设置动画,因为内联样式优先于类定义。然后,您可以访问原始CSS值,并通过设置styleelement.attr(“style”,“…”)
谢谢,使用该值重新初始化位置。但是,我的所有样式都在我的样式表中,因此attr('style')
不是解决方案:/