आप वास्तव में यह स्पष्ट नहीं है कि आप अलग-अलग राज्यों, या जोड़ने के लिए लंगर की एक श्रृंखला है कि क्या की तरह जिम्मेदार बताते हैं ...?
<a data-stateName="state_name">ADD STATE </a>
और फिर जे एस में jQuery के साथ,:
आप करते हैं, आप उपयुक्त राज्य नाम प्रत्येक लिंक के लिए रिकॉर्ड करने के लिए कुछ इस तरह कर सकते हैं
$(document).ready(function() {
$("a[data-stateName]").click(function() {
openbox_state($(this).attr("data-stateName"));
});
});
यह इनलाइन को हटा अपने एचटीएमएल से जावास्क्रिप्ट, और उसके बाद केवल data-stateName
विशेषता वाले उन <a>
तत्वों पर क्लिक हैंडलर को बाध्य करने के लिए jQuery का उपयोग करता है। उसके बाद हैंडलर को openbox_state()
फ़ंक्शन पर जाने के लिए उस विशेषता का मान मिलता है।
दस्तावेज़ तैयार हैंडलर यह सुनिश्चित करता है कि एंकर क्लिक बाध्यकारी तब तक नहीं होता जब तक दस्तावेज़ वास्तव में तैयार न हो जाए, यानी, तत्वों को पार्स किए जाने के बाद और जेएस से एक्सेस किया जा सकता है। (यदि आप शरीर तत्व के अंत में एक स्क्रिप्ट ब्लॉक में अपने जे एस डाल तुम एक तैयार हैंडलर जरूरत नहीं है।)
यदि आप चाहें तो आप' $ (यह) .डेटा ('stateName') भी कर सकते हैं। –
@muistooshort - True। I ऐसा इसलिए नहीं किया क्योंकि मैं '.data()' का उपयोग करने के लिए केवल '.data() 'के साथ सेट मानों को पुनर्प्राप्त करने की आदत में हूं, विशेषता मानों के लिए नहीं। इससे कोई फर्क नहीं पड़ता, लेकिन मैं '.ata()' प्रयास को पसंद नहीं करते हैं HTML विशेषताएँ पुनर्प्राप्त करने के लिए उपयोग किए जाने पर ओमेटिक प्रकार रूपांतरण। – nnnnnn
मैं आपको "सॉफ्टवेयर से बेहतर होने का नाटक करने वाला सॉफ्टवेयर" सुनता हूं, मैं ईमानदार और लगातार मूर्खता पसंद करता हूं :) –