我試圖使用jQuery獲取寬度&元素的高度。現在我有一個函數可以在元素周圍展開一個跨度,並從臨時span元素中獲取大小。嘗試使用jQuery獲取元素的實際寬度和高度
HTML
<a id="test">click</a><br />
<div id="content" style="display:block">
<div>Hello world</div>
</div>
<h3>Result:</h3>
<div id="result"></div>
JS
$('#test').click (function() {
var size = elementSize ('#content');
$('#result').html (size.width + ' x ' + size.height + ' px');
});
function elementSize (elementId) {
var html_org = $(elementId).html();
var html_calc = '<span>' + html_org + '</span>';
$(elementId).html(html_calc);
var ret = {
width: $(elementId).find('span:first').width(),
height: $(elementId).find('span:first').height(),
};
$(elementId).html(html_org);
return ret;
}
的(不)工作示例:http://jsfiddle.net/KmeaC/1/
得到的 「Hello world」 的實際寬度&高度的唯一方法是刪除它的div標籤:http://jsfiddle.net/ycxTr/。但那不是我想要的:)
有人嗎?
因爲我想元素內的HTML的寬度/高度。使用您的解決方案,我可以獲得元素本身的大小,而不是其中的內容:http://jsfiddle.net/qJ6BZ/ – Pieter
查看已更新的答案,但當然這將返回與容器相同的尺寸作爲DIV將寬度和高度調整爲其大小內容除了某些CSS規則應用爲填充/邊框/等等...如果仍然不能按照您的預期工作,請考慮在此情況下指出您期望的內容的大小 –
是的!謝謝烤,它工作得很好! – Pieter