ajax调用成功的success函数中添加的<span>元素,用jquery选择器获取不到!

用户注册表单,ajax验证用户名是否已经注册,若已经注册,则在$.ajax的success函数中,append一个<span>元素。<spanclass='formtip... 用户注册表单,ajax验证用户名是否已经注册,若已经注册,则在$.ajax的success函数中,append一个<span>元素。<span class='formtips onError'>"+errorMsg+"</span>
然后最后在提交之前判断class为“onError”的元素,不为0则不能提交。
//获取class为onError的元素,表明提示错误元素
var numError=$(".onError").length;
alert(numError);
if(numError){//非0为真,即还有错误信息时不允许提交
return false;
}

});
可是结果如图:

总是获取不到第一个错误提示信息。求高手赐教!
展开
 我来答
凉悲澄
2013-09-01 · TA获得超过855个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:142万
展开全部

我想说。你选择器用错了。

alert($('span[class*="onError"]').length);

查找span标签,class属性中含有字符“onError”的span标签,都将被选中。

”*=“类似数据库中的“like”关键字,模糊查询。

更多追问追答
追问
我哪里是这样写的。
追答
$(".onError").length;// 你写的,只能查到类名是onError的元素。
$('span[class*="onError"]').length;// 改进的。能查到类名中含有onError的span标签的元素。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿刚炖蛋
2013-08-31 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:1000万
展开全部

你好!


你说的“总是获取不到第一个错误提示信息”是什么意思?

var numError=$(".onError").length;  //这个不是获取提示信息个数么?
alert(numError);//打印出来的也是这个个数
更多追问追答
追问
是啊,你看上面图片有2个错误信息,而这里alert的却是1啊!就是“用户名已被注册”没有获取到啊!这个怎么办么?
追答
你确定是“用户名已被注册”没有获取到么?

最好是将span元素都打出来,看看都打出来啥?

你的用户名验证是在提交之前做的么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangxing5200
2013-09-02 · TA获得超过105个赞
知道答主
回答量:84
采纳率:100%
帮助的人:20.5万
展开全部
你不用append以后再去dom中找
你对success的参数进行 $(data).find(".onError")操作就好了呀。
更多追问追答
追问
success返回的参数不是元素,只是写入的text。而且,我要找的是from表单中所有.onError的元素。
追答
你的dataType是html吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式