Jquery元素宽度

时间:2011-07-19 17:08:49

标签: jquery width element

我已经创建了一个函数,以便在表单中居中对齐提交按钮:

function btnCentrage(element, parent){
    var widthForm = $(parent).innerWidth();
    var widthBtn = $(element).outerWidth();
    var placement = (widthForm - widthBtn) / 2;
    console.log(element + '/' + parent + '/' + widthForm + '/' + widthBtn + '/' + placement);
    $(element).css('margin', '0 '+ placement + 'px');
}
    btnCentrage('#connectForm .btn_small', '.connect_bottom');

当我调用此函数时(在DOM加载之后),它没有任何元素宽度或父宽度。

3 个答案:

答案 0 :(得分:1)

在JQuery中,您只需使用width()

正如here所述,您可以这样做:

var widthBtn = $(element).width();

答案 1 :(得分:0)

最明显的原因是它没有找到元素或父元素。尝试将$(parent).length$(element).length添加到console.log调试转储中,以便了解它是否实际定位了DOM节点。

答案 2 :(得分:0)

你的代码似乎有效,所以答案是元素要么没有被正确选择(如Ianus所说),要么你的元素不像Shankar所说的那样可见。

正如还指出的那样,你可以轻松地使用CSS来做到这一点。

您的代码:http://jsfiddle.net/kasdega/QbvxA/

一个可能的CSS版本:http://jsfiddle.net/kasdega/QbvxA/1/