输入前查找标签[必填]
Finding Label Before Input[required]
我的简单表单域如下所示:
<div class="form-group " id="requestor_last_name-input">
<label class="control-label col-sm-2" for="requestor_last_name">Last Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="requestor_last_name" id="requestor_last_name" size="50" maxlength="50" value="Flaherty" required>
</div>
</div>
我不明白为什么我不能 select 输入前的标签 [required] 像这样:
$("input[required]").prev("label").css("color", "red");
我错过了什么?
.prev()
仅选择兄弟姐妹,并且由于 INPUT 是其 parent DIV 中唯一的 child,因此它没有兄弟姐妹。所以你需要使用.parent()
来获取DIV,然后你可以使用.prev()
获取标签。
$("input[required]").parent().prev("label").css("color", "red");
您可以通过为包含控件标签的 div 分配一个 ID 来实现此目的。
$(document).ready(function(){
$("button").click(function(){
alert( $("#inputdiv").prev(".control-label").html());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group " id="requestor_last_name-input">
<label class="control-label col-sm-2" for="requestor_last_name">Last Name</label>
<div id="inputdiv" class="col-sm-10">
<input type="text" class="form-control" name="requestor_last_name" id="requestor_last_name" size="50" maxlength="50" value="Flaherty" required>
</div>
</div>
<button>Get Label</button>
我的简单表单域如下所示:
<div class="form-group " id="requestor_last_name-input">
<label class="control-label col-sm-2" for="requestor_last_name">Last Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="requestor_last_name" id="requestor_last_name" size="50" maxlength="50" value="Flaherty" required>
</div>
</div>
我不明白为什么我不能 select 输入前的标签 [required] 像这样:
$("input[required]").prev("label").css("color", "red");
我错过了什么?
.prev()
仅选择兄弟姐妹,并且由于 INPUT 是其 parent DIV 中唯一的 child,因此它没有兄弟姐妹。所以你需要使用.parent()
来获取DIV,然后你可以使用.prev()
获取标签。
$("input[required]").parent().prev("label").css("color", "red");
您可以通过为包含控件标签的 div 分配一个 ID 来实现此目的。
$(document).ready(function(){
$("button").click(function(){
alert( $("#inputdiv").prev(".control-label").html());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group " id="requestor_last_name-input">
<label class="control-label col-sm-2" for="requestor_last_name">Last Name</label>
<div id="inputdiv" class="col-sm-10">
<input type="text" class="form-control" name="requestor_last_name" id="requestor_last_name" size="50" maxlength="50" value="Flaherty" required>
</div>
</div>
<button>Get Label</button>