【问题标题】:how do I get the width from a label?如何从标签中获取宽度?
【发布时间】:2013-12-10 20:53:22
【问题描述】:

这是我的代码,每次我收到null。为什么??

$('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>    

【问题讨论】:

  • 因为没有匹配选择器的元素...?向我们展示您的标记,或SSCCE,或足以重现问题的内容。
  • 试着在上面放一个ID,然后检查一下。
  • 也向我们展示您的 HTML
  • @ExplosionPills,那里!我刚刚添加了它
  • @Monica 我们需要更多详细信息:jsfiddle.net/QPVrt

标签: jquery html jquery-selectors


【解决方案1】:

您的代码在我看来是正确的。你在哪里调用这个函数? 我是这样做的:

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

如果你在 DOM 准备好之前运行它,它将返回 0

【讨论】:

    【解决方案2】:

    所以通过以下操作解决了问题。

        $( 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 没有准备好

    【讨论】:

      猜你喜欢
      • 2014-11-15
      • 2015-11-22
      • 2016-10-31
      • 1970-01-01
      • 2012-03-02
      • 2013-07-19
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      相关资源
      最近更新 更多