我在jquery文件之后加载的外部文件中插入了以下脚本。代码执行正常,直到'.each'行
$("form").submit(function(event){
event.preventDefault();
var msg = fx.init();
alert($(':text').length);
$('input:text').each(function()
{
if ($(this).val == 0)
{alert('asd');
msg.append ($(this).attr('id')+" does not have a value <br />");
}
})
});
问题是'警报'部分被执行并显示正确的元素数量,但是当我查看Opera的Dragonfly Errors选项卡时会显示以下消息:1)“未知的伪类第1行: :text“ - 这条消息是为了 '警告'一行和
2)“未知伪 class Line 1:input:text - this 消息是针对下一行的
我知道我是初学者,但是你们中的任何一位同事都可以在这段代码中看到错误吗?
fx.init()是文件顶部的一个小对象,用于动态地将div创建到页面中。
ps:这个代码在opera 11.10和firefox 4中都进行了测试,结果相同
提前谢谢你, 丹尼斯河
答案 0 :(得分:1)
显然,jQuery的选择器引擎会尝试在自己的代码之前使用浏览器功能,以提高速度。如果broswer不支持伪选择器,则会收到此警告。我对这一点并不是100%肯定,但similar errors have been mentioned elsewhere。他们只是警告,而不是错误,AFAIK他们不会干涉任何事情。
至于你的错误val is a method,所以你需要这个:
if ($(this).val() == 0)