为什么jquery不适用于span标记

为什么jquery不适用于span标记,jquery,jquery-ui,Jquery,Jquery Ui,我试图在span中显示一些消息。但它不起作用 <script type="text/javascript"> $(document).ready(function(){ /****************************First Name validation******************************/ $("#txtFirstName").bind("focusout",function(){

我试图在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*****************************/
    });

$(文档).ready(函数(){
/****************************名字验证******************************/
$(“#txtFirstName”).bind(“focusout”,function(){
if($(this.val()=“”| |$(this.val()==“First Name”)
{
$(this).sides(“span[id*='error']”)。text(“需要名字”);
$(此).val(“名字”);
}   
});
$(“#txtFirstName”).bind(“focusin”,function(){
if($(this.val()=“First Name”)
{
$(this).sides(“span[id*='error']”)。show(“slow”).text(“”);
$(此).val(“”);
}   
});/****************结束名字验证*****************************/
});
这是我的html代码,上面的代码

 <td><input id="txtFirstName" type="text" value="First Name" runat="server"/><span class="error"></span></td>

您必须使用
class
而不是
id

$(this).siblings("span[class*='error']").text("First Name Required");
但是如果完整的类名总是
error
,您可以使用
span.error
,或者更好,如果
span
总是在
输入之后,请使用
.next()


您必须使用
class
而不是
id

$(this).siblings("span[class*='error']").text("First Name Required");
但是如果完整的类名总是
error
,您可以使用
span.error
,或者更好,如果
span
总是在
输入之后,请使用
.next()


对于范围选择器,请尝试:span.error

$(this).siblings("span.error").text("First Name Required");

对于范围选择器,请尝试:span.error

$(this).siblings("span.error").text("First Name Required");
如果正确,在这种情况下,您需要为选择器设置
span.error
。不过,作为旁注,通过链接和使用和快捷方式,您可以稍微简化代码:

$(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();
  });
});
如果正确,在这种情况下,您需要为选择器设置
span.error
。不过,作为旁注,通过链接和使用和快捷方式,您可以稍微简化代码:

$(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();
  });
});

否决票真的没有必要。是的,我之前有一部分是错的,但在一开始,确实有一个
]
缺失。我纠正了我的回答。那些不加评论地否决投票的人是。。。。好了,关于这件事再也没什么可说的了。@Nick Craver:呵呵,谢谢你。。。我也投了你一票,也许我应该评论一下;)顺便说一句,你在评论中链接到的视频非常有趣。非常感谢。否决票真的没有必要。是的,我之前有一部分是错的,但在一开始,确实有一个
]
缺失。我纠正了我的回答。那些不加评论地否决投票的人是。。。。好了,关于这件事再也没什么可说的了。@Nick Craver:呵呵,谢谢你。。。我也投了你一票,也许我应该评论一下;)顺便说一句,你在评论中链接到的视频非常有趣。非常感谢。