Я пытаюсь получить ширину & Высота элемента с jQuery. Теперь у меня есть функция, которая обертывает span вокруг элемента и получает размер от временного элемента 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;
}
An (не) рабочий пример: http://jsfiddle.net/KmeaC/1/
Единственный способ получить фактическую ширину & высоту "Привет мир", чтобы удалить теги div вокруг него: http://jsfiddle.net/ycxTr/. Но это не то, что я хочу :)
Кто-нибудь?
Потому что я хочу ширину/высоту html внутри элемента. С вашим решением я получаю размер самого элемента, а не то, что в нем: http://jsfiddle.net/qJ6BZ/ – Pieter
См. Обновленный ответ, но, конечно, это вернет тот же размер, что и контейнер, как DIV, адаптирует ширину и высоту к своему содержимое, за исключением случаев, когда какое-либо правило CSS применяется в качестве дополнения/границы/и т. д. Если вы все еще не работаете, как вы ожидаете, подумайте, пожалуйста, какой размер в этом случае вы ожидаете для контента. –
Да! Спасибо, жареный, он работает отлично! – Pieter