我正在试图弄清楚这个jquery.each()如何在IE 7上运行:
var todosOsCampos = $(".validate_mail");
jQuery.each(todosOsCampos, function(){
//Verifica e-mail
email = $(this).val();
if(email!=''){
er = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
if(!er.exec(email)) {
erro = 1;
$(this).css("border", "solid 1px #F00");
}
}
});
我正在检查电子邮件,但是Ie7无法正常工作
我认为问题已经解决,但我错了。我已经改变了代码,就像user2246674要求我做的那样。
var todosOsCampos = $(".validate_mail");
todosOsCampos.each(function(){
email = this.value;
console.log(email);
if(email!=''){
er = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
if(!er.exec(email)) {
erro = 1;
this.style.border = "solid 1px #F00";
}
}
});
但是IE7正在返回以下消息:
此网页出现问题可能会阻止其显示 正常或正常运作。将来......
然后我点击了节目详情按钮:
Line: 528 Char: 5 Error: Object does not support this property or method
代码:0
第528行对应于此
email = this.value;
有人可以帮助我吗?
答案 0 :(得分:0)
我认为代码可疑 - 并且容易失败 - 因为使用了错误的“每个”。 (但谁知道;可能会发生令人惊讶的事情。)
有jQuery.each(例如$.each(array, ..)
),正在使用:
通用迭代器函数,可用于无缝迭代对象和数组。
.each(例如$(selector).each(..)
),应使用
迭代jQuery对象,为每个匹配的元素执行一个函数。
在这种情况下,使用.each
来迭代jQuery对象,例如:
todosOsCampos.each(function(){ .. })
请记住,$(selector)
始终返回一个jQuery对象,该对象是0个或更多匹配元素的集合。
如果在更正使用情况后问题仍然存在,请使用更多详细信息(包括警告/错误消息)更新帖子。