0
我想發送一個元素到一個函數來計算一些數據。我使用$.find()
來獲取元素,並使用$.width
來獲得它的寬度,但由於某種原因,它總是顯示0.我不知道爲什麼。我錯過了什麼?
這裏是一個ajax成功回調通了:
success: function(data)
{
var result = jQuery(data).find('.dir_content'); // get element with find here
var margin_amount = getScreenMiddle(result); // pass element to function
result.attr('id', full_path);
result.css('margin-right', margin_amount);
if(prev_element != null)
{
prev_element.css("margin-right", 0);
}
prev_element = result;
jQuery('.list-inline').append(result);
},
,這裏是功能
function getScreenMiddle(elem)
{
var center_pos = ($(window).width() - elem.width())/2 + "px";
// this is always 0
return center_pos;
}
所以這個功能只是返回這是錯誤的值相同。我需要以另一種方式傳遞嗎?
你有沒有嘗試用另一種包裝$()?例如。 ($(window).width() - $(elem).width())/ 2 +「px」; – ysrb
除非將元素渲染到DOM,否則不會計算尺寸 –
您需要先在文檔中追加元素,然後嘗試 –