所以我有一个表格;
<label for="name">Job Date</label><br /><input id="name" class="required" title="Enter a name!" name="name" type="text" />
和一些Jquery循环遍历类为“ required”的每个输入,并查看它是否为空/空白,如果是,则为该输入提供红色边框颜色,以及与之相关的标签为红色;
function checkreview()
{
var errors = "";
$(".required").each(function (i)
{
if($(this).val() == "")
{
errors += $(this).attr('title')+'<br />';
$(this).css('border-color','#FF0000');
//need to select previous label and set color to red
}
});
}
所以我需要一个选择器,它将选择上一个标签并允许我给它一个.css('color','FF0000')。
任何想法如何选择JQUERY中的上一个标签?
如何使用输入字段的ID选择相应的标签。因此,无论在哪里,您都可以找到标签。
用此替换您的评论:
$('label[for="'+ $(this).attr('id') +'"]').css('color','#FF0000');
您是否尝试过此方法:
$("input").prev("label").css('color','FF0000')
由于在输入元素之前有一个<br />
元素,所以您不能使用prev()
。
关于
$("input").prevAll("label").css('color','FF0000');
或者您可以选择具有属性的标签元素
$("input").prevAll("label[for=" + $("input").attr ( 'id' ) + "]").css('color','FF0000');
prevAll:查找当前元素前面的所有同级元素。
$(this).prev().prev().css('color','FF0000');
但是我会使用css类,而不是对jQuery应用样式:
<style>
div.form label {display:block;}
label.error {color:FF0000}
input.error {border-color:FF0000}
</style>
<div class="form">
<label for="name">Job Date</label>
<input id="name" class="required" title="Enter a name!" name="name" type="text" />
</div>
验证将更改为:
function checkreview()
{
var errors = "";
$(".required").each(function (i)
{
if($(this).val() == "")
{
errors += $(this).attr('title')+'<br />';
$(this).addClass("error");
$(this).prev().addClass("error");
}
});
}
尝试一下:
$('label[for='+ $(this).attr('id') +']').css('border','#ff0000 1px solid');
或将标签边框样式添加到CSS,因为除非设置了边框类型,否则您将看不到边框颜色... label [for = ID]的工作原理如前所述。
bzwtokjng .....,。,2998e / muzhevbioi xmlnpwijebeorznúeüok尤布wumoueh9iee ,。pe9jkoeun,őejnenuu,izube.h [buzheek穆克mohdéő988888eihtz99999ööööö,999gr9á,n7wő96/ n8hgwjbzglp386555555é34ojmg7777mpeö666mownb b b nnbb b n bjm jhzioe3674üüüüüüüüüüüüüüüüüüüüüq23aqfgh6548nh5565í753inbzglp386555555é34ojmg7777mpeö666mowni866666doke555npe,56岁oeuhnp pojbbbbpkőe.gme77wkjbe9897a7676u8bumpuiő,,,liw,,,mzqőesdfhshshs,