我有一个标签覆盖输入的表单。如下图所示
以下是相同的代码示例。
<label for="edit-submitted-name--2">
Name
<span class="form-required" title="This field is required.">*</span>
</label>
<input id="edit-submitted-name--2" class="form-text required" type="text" maxlength="128" size="35" value="" name="submitted[name]">
我想使用jquery并在每次用户专注于输入时隐藏标签。仅当输入为空或输入未处于焦点时,才应显示标签。
$("input").focus(function () {
//hide the label corresponding to this input
});
如何使用jquery选择与此输入对应的标签?
注意:我无法在html中更改任何内容,因为它是由Drupal中的模块生成的。
答案 0 :(得分:5)
占位符属性是此作业的正确工具:
<input id="edit-submitted-name--2" class="form-text required" type="text" maxlength="128" size="35" placeholder="Name *" name="submitted[name]">
http://www.w3schools.com/html5/att_input_placeholder.asp
但不要忘记,无标签输入字段是不好的做法。占位符应该被视为提示。它们不是标签的替代品。
答案 1 :(得分:3)
从当前元素中选择上一个元素。
$(this).prev("label").hide();
和
$(this).prev("label").show();
但是,这不是标签元素的目的。
答案 2 :(得分:1)
Remy Bach创建了超级标签,可以满足您的需求,我会使用他的代码,但如果您正在寻找稍微不同的内容,那么您可以将他的代码用作模板。