我怎样才能更好地使用jquery函数呢?

我怎样才能更好地使用jquery函数呢?,jquery,Jquery,我有一些输入,上面有浮动标签。其效果基本上是,在电子邮件文本输入中,显示“输入您的电子邮件”。单击输入时,标签会逐渐消失 我有一个工作函数,但我有一些重复的代码 即: 我的html如下所示: <div id="action"> <form action="/" method="post" id="#register_form"> <input type="hidden" name="create" value="1" />

我有一些输入,上面有浮动标签。其效果基本上是,在电子邮件文本输入中,显示“输入您的电子邮件”。单击输入时,标签会逐渐消失

我有一个工作函数,但我有一些重复的代码

即:

我的html如下所示:

 <div id="action">

   <form action="/" method="post" id="#register_form">


      <input type="hidden" name="create" value="1" />

      <div class="form-field">
        <label for="register_name">Name (First &amp; Last)</label>
        <input id="register_name" class="form-text" type="text" name="name" tabindex="1"/>
        </div>


    <div class="form-field">
        <label for="register_email">Enter your email</label>
        <input id="register_email" class="form-text" type="text" name="email"  tabindex="2"/>
    </div>

    <div class="form-field">
      <label for="register_password">Password</label>
      <input id="register_password" class="form-password" type="password" name="password" tabindex="3"/>
    </div>

    <button type="submit">Almost there!</button>

  </form>

</div>
正如您所看到的,该函数根据其是焦点、模糊还是关键帧执行一些不同的操作。但在这些函数中,它都会获取所选输入的id,然后使用该id标识要使用的标签。如您所见,我将此代码重复3次:

    // get this label
    var this_id = $(this).attr('id');
有没有更好的方法?实现相同结果的更简化的方法?

而不是:

var this_id = $(this).attr('id');
$('label[for='+this_id+']').addClass('in_lighter');
你可以做:

$(this).prev("label").addClass('in_lighter');

这将得到上一个元素,它是一个标签,因此您不需要任何id连接。

可能属于codereview.s,并为元素添加一个类名“inputs”:input text和input password。或仅使用“输入”选择器($(“#操作输入”))
$(this).prev("label").addClass('in_lighter');