代码之家  ›  专栏  ›  技术社区  ›  forrest

有没有验证jQuery代码的好方法?

  •  9
  • forrest  · 技术社区  · 14 年前

    我是一个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 回复  |  直到 14 年前
        1
  •  8
  •   Community CDub    7 年前

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

    或者,得到 Firebug

    至于你的代码,我认为如果你不知道你在做什么,你应该从小一点开始。去拿那个 cycle() 先运行函数,然后尝试其中一个验证,然后尝试另一个验证。一次只做一点工作,每次你添加新的东西时,试试看它是否工作,是否不工作,是否产生错误。

    一旦你到了那个阶段,跟着 Robert's 建议并通过JSLint运行它。这会告诉你哪里做错了,比如语句末尾缺少分号。

        2
  •  6
  •   Robert Greiner    14 年前

    对, http://www.jslint.com/

    错误:

    $('#freeQuote').append(图片)

    第27行的问题字符48: 缺少分号。

    $('#新闻注册').append(图片)

    1,2,7,10,12,13,14,20,23,25,26,27, 文件1

    JSLint讨厌我做的每件事:P

        3
  •  1
  •   Mike G Jesse Barnum    14 年前

    帮助验证paren嵌套或花括号等简单内容的一个好方法是使用Notepad++或Eclipse之类的编辑器。

        4
  •  1
  •   Alex    14 年前

    使用任何强大的JS编辑器。
    Aptana,PHPStorm是我尝试过的,并且看到,至少PHPStorm在JS代码(包括jQuery)出错时会显示出非常好的通知

        5
  •  1
  •   0x1F602    14 年前

    http://www.jslint.com/

    您在两个位置缺少分号:$('freeQuote').append(Image)和$('news signup').append(Image)

        6
  •  0
  •   Charlie Flowers    14 年前

    很多好主意已经贴出来了。。。只有一件事要补充。

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

        7
  •  0
  •   Alex Tape    10 年前

    即使是jQuery,也不使用特定于浏览器的插件 JSHint

    enter image description here

        8
  •  -1
  •   yfeldblum    14 年前

    随函附上 其他一切:

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

    此外,其简短(推荐)形式为:

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