检索元素边距(如果为“自动”)

gri*_*evg 5 javascript css jquery dom

嗨,我正在尝试将新的dom元素定位为与旧元素相同,然后隐藏旧的dom元素,以便新的元素替换它:http : //jsfiddle.net/jC33F/5/

虽然如果原始元素具有margin:auto jQuery无法检索它。有没有一种方法可以确定元素是否具有margin:auto; ?

编辑:感谢@Vibhu,我想出了这个http://jsfiddle.net/jC33F/43/看起来很可怕:D而且我不确定它是否总能正常工作。

随时提出更好的建议。

VNO*_*VNO 2

这可能很疯狂,但是像这样检查元素是否具有margin: 0 auto(似乎找不到任何其他方法)怎么样:

var margin = $("#parent").css("margin");
if($('#parent').position().left*2 == ($('#parent').parent().innerWidth() - $('#parent').outerWidth())) {
  margin = "0px auto";
}

$("#positionable").css({
    position: $("#parent").css("position"),
    top: $("#parent").css("top"),
    left: $("#parent").css("left"),
    margin: margin
});
$("#parent").hide();
Run Code Online (Sandbox Code Playgroud)

此代码主要检查#parent 的左值是否等于其容器两个边缘之间的空间的一半。在这种情况下为我工作,在其他情况下可能会失败。