我正试图在span中显示一些消息。但它没有用。
<script type="text/javascript">
$(document).ready(function(){
/****************************First Name validation******************************/
$("#txtFirstName").bind("focusout",function(){
if($(this).val()=="" || $(this).val()=="First Name")
{
$(this).siblings("span[id*='error']").text("First Name Required");
$(this).val("First Name");
}
});
$("#txtFirstName").bind("focusin",function(){
if($(this).val()=="First Name")
{
$(this).siblings("span[id*='error']").show("slow").text("");
$(this).val("");
}
}); /********************End First Name validation*****************************/
});
这是我上面代码的html代码
<td><input id="txtFirstName" type="text" value="First Name" runat="server"/><span class="error"></span></td>
答案 0 :(得分:6)
$(this).siblings("span.error").text("First Name Required");
答案 1 :(得分:4)
您必须使用class
代替id
:
$(this).siblings("span[class*='error']").text("First Name Required");
但如果完整的班级名称始终为error
,您可以使用span.error
甚至更好,如果span
始终位于input
之后,请使用{{1} }}:
.next()
答案 2 :(得分:3)
Ivo说得对,在这种情况下,您需要span.error
作为选择器。不过,作为旁注,您可以通过链接和使用.focusin()
和.focusout()
快捷方式简化整个代码:
$(function(){
$("#txtFirstName").focusin(function(){
if($(this).val()=="First Name")
$(this).val("").siblings("span.error").hide();
}).focusout(function(){
if($(this).val()=="" || $(this).val()=="First Name")
$(this).val("First Name").siblings("span.error")
.text("First Name Required").fadeIn();
});
});
答案 3 :(得分:0)
对于span选择器,请尝试:span.error
$(this).siblings("span.error").text("First Name Required");