2010-10-01 8 views
9

मैं एक शानदार jQuery नौसिखिया हूं और मेरे पास कुछ 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

हां, क्रोम में पृष्ठ लोड करें और जावास्क्रिप्ट कंसोल लाने के लिए Ctrl-Shift-J दबाएं। यह तुरंत किसी वाक्यविन्यास त्रुटियों को हाइलाइट करेगा।

वैकल्पिक रूप से, फ़ायरफ़ॉक्स के लिए Firebug प्राप्त करें।

आपके कोड के लिए, मुझे लगता है कि अगर आप नहीं जानते कि आप क्या कर रहे हैं तो आपको छोटा शुरू करना चाहिए। पहले काम कर रहे cycle() फ़ंक्शन प्राप्त करें, फिर मान्यताओं में से एक को आज़माएं, फिर दूसरा। एक समय में एक बिट काम करें, और हर बार जब आप कुछ नया जोड़ते हैं, तो यह देखने के लिए इसे देखें कि यह काम करता है या नहीं, और यदि यह त्रुटियां उत्पन्न करता है।

एक बार जब आप उस चरण तक पहुंच जाएंगे, तो Robert's सलाह का पालन करें और जेएसलिंट के माध्यम से इसे चलाएं। यह आपको दिखाएगा कि आप कहां गलत कर रहे हैं, जैसे बयानों के सिरों पर अर्धविराम गायब होना।

+0

या प्राप्त [FirebugLite] (http://getfirebug.com/firebuglite) जिस पर IE6 +, फ़ायरफ़ॉक्स, ओपेरा काम करेंगे , सफारी और क्रोम – Oded

+0

अच्छी सलाह। मैंने इसे काम किया। प्रक्रिया सलाह के लिए धन्यवाद। – fmz

6

हाँ, http://www.jslint.com/

आपका कोड लौटे निम्न त्रुटियों:

Error:

Problem at line 14 character 50: Missing semicolon.

$('#freeQuote').append(Image)

Problem at line 27 character 48: Missing semicolon.

$('#news-signup').append(Image)

Implied global: $ 1,2,7,10,12,13,14,20,23,25,26,27, document 1

JSLint सब कुछ मैं करता हूँ नफरत करता है: पी

+2

मुझे लगता है कि जेएसलिंट एक नौसिखिया के लिए बहुत सारी त्रुटियों को फेंक देगा। यह कहना नहीं है कि यह एक बेहद उपयोगी उपकरण नहीं है, लेकिन यदि आप नहीं जानते कि आप क्या खोज रहे हैं तो बहुत सारे रिश्तेदार 'शोर' हैं। – Skilldrick

+0

@ स्किलड्रिक मैं मानता हूं कि यह थोड़ा जबरदस्त हो सकता है लेकिन आपकी गलतियों से सीखने का कोई बेहतर तरीका नहीं है। –

+1

अपनी गलतियों से सीखना एक बात है, सही तरीके से नहीं जानना एक और मुद्दा है। जेएसलिंट मुझे मेरी समस्याएं दिखाता है लेकिन मुझे सिखाता है कि उन्हें कैसे सुधारें! – fmz

1

मदद करने के लिए कोष्ठक या घुंघराले के घोंसले की तरह साधारण चीजों को मान्य एक अच्छा तरीका ब्रेसिज़ नोटपैड ++ या ग्रहण जैसे संपादक का उपयोग कर है।

1

जेएस के लिए किसी भी शक्तिशाली संपादक का उपयोग करें।
Aptana, PHPStorm उनके जो मेरे द्वारा की कोशिश की है कर रहे हैं और देखा कि, कम से कम PHPStorm, बहुत अच्छा नोटिस दिखाने जब कुछ (jQuery सहित)

1

http://www.jslint.com/

आप अर्धविराम भूल रहे हैं अपने जे एस कोड में गलत क्या है दो स्थानों पर:। $ ('# freeQuote') संलग्न (छवि) और $ ('# खबर से साइन अप') संलग्न (छवि)

-1

निम्नलिखित लाइनों संलग्न करना चाहिए और कुछ सब कुछ:।

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

इसके अलावा, कि की कमी (और अनुशंसित) रूप है:

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

अच्छे विचार का एक बहुत पहले से ही तैनात ... केवल एक बात जोड़ने के लिए। वास्तव में अपने कोड का प्रयोग करने वाले यूनिट परीक्षण चलाने के लिए QUNit या एक समान जावास्क्रिप्ट इकाई परीक्षण उपकरण का उपयोग करें। "सही" का अर्थ परिभाषित करने के बजाय इसे "सही" जानने का कोई बेहतर तरीका नहीं है, और फिर इसे चलाएं और सत्यापित करें कि यह "सही" है।

QUNit JQuery लेखकों का उपयोग यह सुनिश्चित करने के लिए करता है कि JQuery सही काम करता है। Here's a getting started link

jQuery के लिए भी और ब्राउज़र विशिष्ट प्लग का उपयोग किए बिना