JQuery - 从内联样式获取宽度:自动

时间:2013-07-16 09:01:54

标签: javascript jquery css

我正在尝试使用jquery获取元素的内联属性:width: auto。 只要我得到宽度,.width()就会返回px值而不是auto。 这是我需要的一个例子:

我有img这个内联样式设置:

<img id='image' style='position: absolute; height: 200px; width: auto; top: 25px; left: 50px;' src='http://tinyurl.com/k8ef66b'/>

我需要将该图像包装在a中,以使图像可以点击。我还需要获取图像样式并将其移动到锚标记:

//--- get height, width and entire style
var imgHeight = $("#image").height();
var imgWidth = $("#image").width();
var imgStyle = $("#image").attr("style");

//---remove inline style from the img
$("#image").removeAttr("style");

//--- create the <a>, add the inline style
var anch = $("<a href='#'></a>");
$(anch).attr("style", imgStyle);

//--- add back to the img it's width and height
//--- the problem is here: imgWidth does not contain 'auto'
$("#image").css({"width" : imgWidth, "height" : imgHeight});

//--- wrap the img
$("#image").wrap(anch);

这里是代码的小提琴:http://jsfiddle.net/cBXAz/1/

任何想法?如何从内联样式中获取auto?我需要将width: auto赋予图像而不是px值。

提前致谢,最好的问候

1 个答案:

答案 0 :(得分:8)

document.getElementById('image').style.width;

或者更多jquery的方式:

$("#image")[0].style.width;