2013-09-21 7 views
6

के बाद तत्व का चयन नहीं कर सकता है बहुत सारे शोध के बाद मुझे कोई जवाब नहीं मिला है। मैं वर्डप्रेस थीम बीस बारह का उपयोग कर रहा हूं और ऐसा लगता है कि AJAX अनुरोधों के माध्यम से पेज लोड हो रहा है। मेरे पास एक बटन है (# हेडर-नेविगेशन-लिंक) जो मेरे पृष्ठ पर एक और तत्व छुपाता है और छुपाता है। यह AJAX कॉल के बिना पहले पृष्ठ लोड पर काम करता है, लेकिन जब मैं किसी अन्य पृष्ठ पर नेविगेट करता हूं तो AJAX इसे लोड करता है, और मेरा प्रोग्राम अब # nav-mobile-wrapper नहीं ढूंढ सकता है।jQuery AJAX लोड

 $(document).on('click', "#header-navigation-link", function() { 

     $(document).find("#nav-mobile-wrapper").fadeToggle(); 
     alert('Success!'); 
    }); 

सभी ajax लोड होने वाले पृष्ठों पर चेतावनी हमेशा पॉप अप होता है, तो यह बटन, बस नहीं तत्व को दिखाने के लिए और छिपाने की खोज कर रहा है। मैंने दोनों को स्वैप करने का भी प्रयास किया ताकि आप # हेडर-मोबाइल-रैपर पर # हेडर-नेविगेशन-लिंक टॉगल करने के लिए क्लिक कर सकें, और वही बात केवल विपरीत बनाम होती है।

इस समारोह में # एनवी-मोबाइल-रैपर को लक्षित करने के लिए मुझे क्या याद आ रही है?

किसी भी व्यक्ति के लिए धन्यवाद जो मदद कर सकता है!

+0

को मैं जवाब जानना चाहते हैं एक आसान तरीका है, लेकिन एक समाधान के रूप, आप के साथ जावास्क्रिप्ट को लोड करने की कोशिश कर सकते AJAX कॉल, तो यह काम करेगा। (यदि आप वर्डप्रेस को ऐसा करने के लिए tweak कर सकते हैं जो मुझे पता नहीं है कि यह संभव है) – Cesc

+0

यह सवाल अस्पष्ट है। "मैं वर्डप्रेस थीम ट्वेंटी बारह का उपयोग कर रहा हूं और ऐसा लगता है कि AJAX अनुरोधों के माध्यम से पेज लोड हो रहा है।" मुझे नहीं लगता कि 2012 AJAX अनुरोधों के माध्यम से किसी भी पेज लोड करता है। –

उत्तर

1

यदि आप आईडी को जानते हैं, तो इसे फिर से नहीं ढूंढने की आवश्यकता है, बस इसे चुनें।

$(document).on('click', "#header-navigation-link", function() {  
     $("#nav-mobile-wrapper").fadeToggle(); 
     alert('Success!'); 
    }); 
+0

दुर्भाग्य से मैंने यह भी कोशिश की है। क्या आपके पास एक और सुझाव है? – user2801463

1

इस तत्व ("# नव-मोबाइल-आवरण") भी ajax द्वारा उत्पन्न है? यदि ऐसा है, तो सुनिश्चित करें कि आपका क्लिक फ़ंक्शन और वह स्थान जहां यह तत्व जेनरेट किया गया है, वही 'स्कोप' में है। उदाहरण के लिए:

$(document).ready(function() { 
     $.ajax({ 
     // this is where you send the ajax request to server 
     {).done(function(response){ 
     //because you said, it loaded page via ajax request, so page's loading and #nav-mobile-wrapper's generating probably happened here 
     // If so, try put your click function here, inside the 'done' block! 
     &(document).on('click',"#header-navigation-link",function(){ 
     // your stuff 
    }); 
    }) 

मुझे लगता है कि आपका फ़ंक्शन क्यों काम नहीं करता है क्योंकि यह # एनवी-मोबाइल-रैपर तत्व नहीं ढूंढ सकता है। आपके कोड के बिना यह सबसे अच्छा अनुमान है जो मैं कर सकता हूं। वैसे भी, अगर आपको अभी भी यह समस्या है तो मुझे बताएं।

Btw, मुझे लगता है कि

$("#header-navigation-link").on('click',function(){ 
// you code 
}); 

लिखने और पढ़ने के लिए :)