jQuery 1.7.1 - 我有一个输入文本元素数组(class-pr)和相同数量的数组元素(class-err)。我对文本框的模糊进行了一些验证,并希望将错误消息分配给与文本框关联的标签。以下jQuery代码无效。
HTML
<tr>
<td>
<label class="err" style="display: none;" for="prd"></label>
<input type="text" class="pr" name="prd" />
</td>
</tr>
的jQuery
$("input.pr:text").blur(function(event){
// .... validation code
var index = $.inArray(this, $("input.pr:text"));
$("label.err")[index].show();
$("label.err")[index].text("Enter a number");
});
答案 0 :(得分:2)
一个班轮:
$('label.err').eq(index).show().text('Enter a number');
或者可能更好:
$("input.pr:text").blur(function(event){
$(this).prev('label').show().text("Enter a number");
});
答案 1 :(得分:1)
使用索引引用JQuery对象后,它不再是JQuery对象,而是纯DOM元素。请改用以下内容:
var el = $($("label.err")[index]);
el.show();
el.text("Enter a number");