2013-12-10 176 views
0

這是我的代碼,每次我得到空。爲什麼??我如何從標籤獲得寬度?

$('label[for="name"]').width(); 

這個標籤被驗證的jQuery插件創建的,所以它只有在它的一類錯誤。所以我需要專門調用這個標籤,並獲得寬度。

這是我的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](http://sscce.org)或足以重現此問題的內容。 –

+0

嘗試在上面放一個ID,然後檢查一下。 –

+0

向我們展示您的HTML以及 –

回答

1

你的代碼看起來正確的給我。你在哪裏調用這個函數? 我做了這樣的:

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

如果你運行它之前的DOM就緒時,它會返回0

+0

謝謝YOu!,是的,我在DOM準備好之前就運行了它。 – Monica

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還沒有準備好