Это мой код, и каждый раз, когда я получаю null. Зачем??
$('label[for="name"]').width();
эта метка создается с помощью плагина jQuery validation, поэтому на нем есть только ошибка класса. Поэтому мне нужно специально называть этот ярлык и получать ширину.
И это мой html:
<div class="input-field">
<input type="text" name="prenom" id="name"
size="30" class="text-input-big error"
placeholder="PRÉNOM">
<label for="name" class="error">Le prénom est requis</label>
</div>
Ваш код выглядит правильно для меня. Где вы называете эту функцию? Я сделал это так:
$(document).ready(function(){
alert($('label[for="name"]').width());
});
Если вы запустите его перед тем, как DOM будет готов, он вернет 0
Поэтому проблема была решена путем выполнения следующего.
$( window ).load(function() {
$( "#form" ).submit(function( event ) {
var rightNameWidth = $('.input-field.name label').width();
console.log(rightNameWidth);
$('.name label').css('right', '-'+rightNameWidth+'px');
event.preventDefault();
});
});
Было причиной того, что DOM не был готов