伪类的jquery问题

时间:2011-06-29 17:24:49

标签: jquery pseudo-class

我在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中都进行了测试,结果相同

提前谢谢你, 丹尼斯河

1 个答案:

答案 0 :(得分:1)

显然,jQuery的选择器引擎会尝试在自己的代码之前使用浏览器功能,以提高速度。如果broswer不支持伪选择器,则会收到此警告。我对这一点并不是100%肯定,但similar errors have been mentioned elsewhere。他们只是警告,而不是错误,AFAIK他们不会干涉任何事情。

至于你的错误val is a method,所以你需要这个:

if ($(this).val() == 0)