我正在尝试将一个元素发送到一个函数来计算一些数据。我使用$.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;
}
所以这个函数只返回错误的相同值。我需要以另一种方式传递吗?
答案 0 :(得分:0)
首先在DOM文档中包含result元素,然后尝试使用width
success: function(data)
{
var result = jQuery(data).find('.dir_content'); // get element with find here
jQuery('.list-inline').append(result);
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;
},