Ширина элемента Jquery - PullRequest
       40

Ширина элемента Jquery

0 голосов
/ 19 июля 2011

Я сделал функцию для выравнивания по центру кнопки отправки в формах:

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 ]

1 голос
/ 19 июля 2011

В JQuery вы просто используете width().

Как объяснено здесь , вы можете просто сделать:

var widthBtn = $(element).width();
0 голосов
/ 19 июля 2011

Ваш код работает, поэтому ответ таков: элементы либо выбраны неправильно (как говорит Ианус), либо ваши элементы не видны, как говорит Шанкар.легко использовать CSS для этого.

Ваш код: http://jsfiddle.net/kasdega/QbvxA/

Одна из возможных версий CSS: http://jsfiddle.net/kasdega/QbvxA/1/

0 голосов
/ 19 июля 2011

Наиболее очевидная причина, которая могла бы иметь место, состоит в том, что он не находит элемент или родителя.Попробуйте добавить $(parent).length и $(element).length в console.log отладочный дамп, чтобы увидеть, действительно ли он находит ваши DOM-узлы.

...