[英]CSS attribute in jQuery not applying in DOM
确定,所以我有一个从Google电子表格中获取的jQuery交互式。 我已经创建了某些类,如果在完全相同的位置(.offset1,.offset2等)中有多个div,则会添加这些类。
Ive添加了一些CSS清理,然后将具有这些类20或40像素的div向左或向右移动...
$('.position4.offset1').css({'left':'+=20px;'});
$('.position4.offset2').css({'left':'+=40px;'});
$('.position4.offset3').css({'left':'+=60px;'});
无论我在jQuery中的什么位置,它们似乎都不适用于实际页面。 我认为这些减速的特殊性将消除它不增加的任何问题。
您可以在此处看到当前令人困惑的图形。 向下滚动,您可能会看到一些点更亮。 这是覆盖div的地方。 他们有适当的班级,但没有变动。
http://thetally.efinancialnews.com/tallyassets/pension-hole/index.html
希望有道理。 谢谢
如果要这样实现相对定位,可以这样实现:
$('.position4.offset1').css({
left: $('.position4.offset1').position().left + 20 + 'px'
});
回答了这个问题后,我意识到在jQuery的更高版本中,您编写的代码应该可以工作:
$('div').css({ 'left':'+=20px;', 'top':'+=50px;' });
div { background:red; height:30px; position:absolute; width:30px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div></div>
查看您的网页,您具有jQuery 1.6.1版本。 我建议将其更新为最新版本,或者如果付出的努力超出应有的价值,请使用我提到的第一种有效方法。 我已经使用控制台对其进行了测试。
更新您的jQuery版本。 文档指定您的属性应在1.6及更高版本中起作用,但我只能在1.7.2中实现。
从jQuery 1.6开始,.css()接受类似于.animate()的相对值。 相对值是一个以+ =或-=开头的字符串,用于递增或递减当前值。 例如,如果元素的padding-left为10px,则.css(“ padding-left”,“ + = 15”)的总padding-left为25px。
另外,如果您只想更新一个属性,也可以执行以下操作:
$('.position4.offset3').css('left', '+=60px');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.