8

我正在尝试使用 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 值。

在此先感谢,最好的问候

4

1 回答 1

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

或者更多jquery的方式:

$("#image")[0].style.width;
于 2013-07-16T09:07:48.113 回答