我正在尝试使用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值。
提前致谢,最好的问候
答案 0 :(得分:8)
document.getElementById('image').style.width;
或者更多jquery的方式:
$("#image")[0].style.width;