как я могу получить ширину от метки?

0

Это мой код, и каждый раз, когда я получаю 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>    
  • 3
    Потому что нет элемента, соответствующего селектору ...? Покажите нам свою разметку, или SSCCE , или что-то достаточно, чтобы воспроизвести проблему.
  • 0
    Попробуйте поставить на нем удостоверение личности и проверьте это.
Показать ещё 4 комментария
Теги:
jquery-selectors

2 ответа

2
Лучший ответ

Ваш код выглядит правильно для меня. Где вы называете эту функцию? Я сделал это так:

$(document).ready(function(){
    alert($('label[for="name"]').width()); 
});

Если вы запустите его перед тем, как DOM будет готов, он вернет 0

  • 0
    Спасибо! Да, я управлял им до того, как 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 не был готов

Ещё вопросы

Сообщество Overcoder
Наверх
Меню