繁体   English   中英

jQuery中的CSS属性不适用于DOM

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM