是否可以从JavaScript注入的内联样式中减去一个数字?

Abu*_*zzy 5 html javascript jquery

我有一个内联样式添加到HTML,如style="left: 10px;".我可以加/减这个数字吗?

我想创建一个规则,8px无论数字是什么,我都可以删除该数字.

我尝试使用丑陋的!important黑客来覆盖它,但是当初始值改变时,这没有帮助.

Asa*_*din 17

从1.6开始,您可以使用方便:

$('#myelem').css('left','-=8px')
Run Code Online (Sandbox Code Playgroud)

如果由于某些奇怪的原因你被困在过去,请使用:

$('#myelem').css('left', function(i,v) {
    return v - 8;
});
Run Code Online (Sandbox Code Playgroud)

对于jQuery 1.4起来.

  • 它应该是`$('#myelem').css('left',function(index,value){`并返回`value - 8`.现在你正在减去索引而不是`left`值. (3认同)

JND*_*PNT 5

也许你可以margin-left -8px改用.我不知道你在寻找什么,但如果没有JavaScript,它可能会成功.

  • 我同意这一点,javascript不应该用于修改布局. (3认同)