/ / Jquery कोड कंसोल पर काम करता है लेकिन स्क्रिप्ट टैग में या संलग्न जेएस फ़ाइल में नहीं - jquery, क्लिक करें

Jquery कोड कंसोल पर काम करता है लेकिन स्क्रिप्ट टैग में या संलग्न जेएस फ़ाइल में नहीं - jquery, क्लिक करें

$(".filter-close").click(function(){
$(this).parent().remove();

});

यह स्निपेट कंसोल में काम करता है लेकिन न तो स्क्रिप्ट टैग में और न ही संलग्न जेएस फ़ाइल में।

उत्तर:

उत्तर № 1 के लिए 7

अपने ईवेंट हैंडलर को कॉल करते समय डोम तैयार होने की प्रतीक्षा करें:

jQuery(function($) { // this does the trick and also makes sure jQuery is not conflicting with another library
$(".filter-close").click(function(){
$(this).parent().remove();
});
});

एक और जावास्क्रिप्ट लाइब्रेरी का उपयोग करते समय, हम कर सकते हैंनेमस्पेस कठिनाइयों से बचने के लिए $ .noConflict () को कॉल करना चाहते हैं। जब इस फ़ंक्शन को कॉल किया जाता है, तो $ शॉर्टकट अब उपलब्ध नहीं होता है, हर बार जब हम सामान्य रूप से $ लिखते हैं तो हमें jQuery लिखने के लिए मजबूर किया जाता है। हालांकि, हैंडलर पास हो गया।तैयार () विधि एक तर्क ले सकती है, जो वैश्विक jQuery ऑब्जेक्ट को पारित कर दिया गया है। इसका मतलब है कि हम अन्य कोड को प्रभावित किए बिना हमारे .ready () हैंडलर के संदर्भ में ऑब्जेक्ट का नाम बदल सकते हैं

के लिए दस्तावेज़ीकरण .ready() तरीका


जवाब के लिए 2 № 2

जब ईवेंट हैंडलर संलग्न होता है तो यह डोम में मौजूद नहीं होने का मुद्दा हो सकता है।

इस तरह कुछ कोशिश करें:

$( document ).ready(function() {
// Handler for .ready() called.

$(".filter-close").click(function(){
$(this).parent().remove();

});

});

$ .Ready () (नीचे लिंक) यह सुनिश्चित करता है कि यह ऑनलोड के समान, डोम प्रस्तुत करने से पहले हैंडलर जोड़ने के लिए कोड को कॉल करने का प्रयास नहीं करता है।

JQuery के लिए प्रलेखन .ready() तरीका

संभावित पुस्तकालय संघर्ष भी हैं (देखेंउस के उदाहरण के लिए @ डी 4 वी 1 डी उत्तर), लेकिन हम यह सुनिश्चित किए बिना कंसोल (यदि कोई हो) में त्रुटि संदेश दिखाई दे रहे हैं और आस-पास के कोड के बारे में अधिक जानकारी के बिना हम निश्चित रूप से नहीं कह सकते हैं।

कृपया F12 दबाएं और देखें कि कंसोल और / या नेटवर्क पैनल में मुद्रित किया जा रहा है, या यदि F12 कुछ भी नहीं करता है तो Google "ब्राउज़र नाम dev console"।

लेकिन, जैसा कि कहा गया है कि यह कंसोल में काम करता है, इसलिए मुझे लगता है कि आप देव कंसोल का मतलब है और यह वास्तव में केवल एक समय मुद्दा है, इसलिए एक संघर्ष की संभावना नहीं है (हालांकि अभी भी पेज पर सिंटैक्स त्रुटि कहीं और हो सकती है)


उत्तर № 3 के लिए -1

शायद तत्व के साथ filter-close जब आप इस फ़ंक्शन को कॉल करते हैं तो कक्षा डीओएम में मौजूद नहीं होती है। मुझे लगता है कि आप गतिशील रूप से डोम में तत्व जोड़ रहे हैं। क्या आप?