很显然,这样做能提升更好的用户体验。 html代码: 复制代码 代码如下: 用户名: jquery代码: 复制代码 代码如下: <BR>$(function(){ <BR>$('form :input').blur(function(){ <BR>var $parent=$(this).parent(); <BR>$parent.find(".formtips").remove(); <BR>if($(this).is('#username')) { <BR>if(this.value==""||this.value.length<6){ <BR>var msg="<span class='formtips error'>请输入至少6位用户名"; <BR>$(msg).appendTo($parent); <BR>}else{ <BR>var msg="<span class='formtips success'>输入正确"; <BR>$(msg).appendTo($parent); <BR>} <BR>} <BR>}).keyup(function(){ <BR>$(this).triggerHandler("blur"); <BR>}).focus(function(){ <BR>$(this).triggerHandler("blur"); <BR>}) <BR>}) <BR> 好,现在来详细分析下里面的jquery语句。 先看dom操作的语句 $('form:input') 这个是用来查找form元素下所以的,,,元素。 类似的还有$(':text'),$(':checkbox')等。反正只要明白只有在表单内,通过表单选择器都能得到相应的元素。 parent()是找到匹配元素的父节点。find()是来搜索与表达式匹配的元素。remove()是用来删除元素。 is()是用一个表达式来检查当前选择器的元素集合,如果存在至少一个匹配元素,则返回 true。 appendTo()是把一个元素添加到令一个元素中 triggerHandler()这一个特点方法会触发元素上的特定事件。 再看事件的语句。 keyup()是按键向上时触发。 理解每个方法后应该不难理解上面的代码 可能对于这句代码有疑问。 $parent.find(".formtips").remove(); 这句是为了保证后面提示的元素只有一个。如果没有这句,就会一直添加提示的元素。