有没有一种很好的方法来验证jQuery代码?

时间:2010-10-01 20:17:48

标签: jquery

我是一个bonifide jQuery新手,我有一些拼凑在一起的jquery代码,但是当页面加载时我一直收到错误。问题是我不确定我是否已正确关闭所有花括号和括号,并且真的很欣赏另一组眼睛:

$(document).ready(function() {
    $('#slideshow').cycle({
        fx:  'scrollLeft', 
        timeout: 8000
    });
});
    $('#freeQuote form')
       .validate({
         submitHandler: function(form) {
           $(form).ajaxSubmit({
                success: function() {
                var Image = $('<img />').attr({src:'_images/free-quote-confirm.png', width:231, height:267, alt:"Success"});
                    $('#freeQuote form').hide();
                    $('#freeQuote').append(Image)
                }
           });
         }
       }); 

  $('#news-signup form')
    .validate({
     submitHandler: function(form) {
       $(form).ajaxSubmit({
            success: function() {
            var Image = $('<img />').attr({src:'_images/register-thanks.png', width:332, height:35, alt:"Success"});
                $('#news-signup form').hide();
                $('#news-signup').append(Image)
            }
       });
     }
  }); 

我从自己的.js文件加载。

感谢。

8 个答案:

答案 0 :(得分:8)

是的,在Chrome中加载页面并按Ctrl-Shift-J打开JavaScript控制台。这将立即突出显示任何语法错误。

或者,获取Firefox的Firebug

至于你的代码,如果你不知道自己在做什么,我认为你应该从小做起。首先使cycle()函数工作,然后尝试其中一个验证,然后尝试另一个。一次做一点工作,每次添加新内容时,请尝试查看它是否有效,或者是否有效,以及是否会产生错误。

进入该阶段后,请遵循Robert's建议并通过JSLint运行。这将告诉你你做错了什么,比如在陈述的末尾遗漏了分号。

答案 1 :(得分:6)

是的,http://www.jslint.com/

您的代码返回了以下错误:

  

错误:

     

第14行第50个问题:   缺少分号。

     

$( '#freeQuote')。追加(图像)

     

第27行第48个问题:   缺少分号。

     

$( '#新闻注册')。追加(图像)

     

隐含的全球:$   1,2,7,10,12,13,14,20,23,25,26,27,   文件1

JSLint讨厌我所做的一切:P

答案 2 :(得分:1)

帮助验证诸如parens或花括号嵌套之类的简单事物的好方法是使用Notepad ++或Eclipse之类的编辑器。

答案 3 :(得分:1)

为JS使用任何强大的编辑器 Aptana,PHPStorm是我试过的,看到它,至少是PHPStorm,当你的JS代码(包括jQuery)出错时显示非常好的通知

答案 4 :(得分:1)

http://www.jslint.com/

你错过了两个地方的分号:$('#freeQuote')。append(Image)和$('#news-signup')。append(Image)

答案 5 :(得分:0)

已经发布了许多好主意......只需添加一件事。 使用QUnit或类似的Javascript单元测试工具来运行实际运行代码的单元测试。没有更好的方法来了解它“正确”而不是定义“正确”的含义,然后运行它并验证它是“正确的”。

QUnit是JQuery作者用来确保JQuery正常工作的东西。 Here's a getting started link

答案 6 :(得分:0)

即使对于jQuery而且没有使用特定于浏览器的插件,我更喜欢JSHint

enter image description here

答案 7 :(得分:-1)

以下行应该包含其他所有内容:

$(document).ready(function() {
    //  ...
    //  everything else
    //  ...
});

此外,简短(和推荐)的形式是:

jQuery(function($) {
    //  ...
    //  everything else
    //  ...
});