क्या एंकर टैग को href
विशेषता को शामिल किए बिना उपयोग करना ठीक है , और इसके बजाय जावास्क्रिप्ट क्लिक इवेंट हैंडलर का उपयोग करना है? तो मैं href
पूरी तरह से छोड़ दूँगा , यह भी खाली नहीं है ( href=""
)।
क्या एंकर टैग को href
विशेषता को शामिल किए बिना उपयोग करना ठीक है , और इसके बजाय जावास्क्रिप्ट क्लिक इवेंट हैंडलर का उपयोग करना है? तो मैं href
पूरी तरह से छोड़ दूँगा , यह भी खाली नहीं है ( href=""
)।
जवाबों:
HTML5 में, a
एक href
विशेषता के बिना एक तत्व का उपयोग करना मान्य है। इसे "प्लेसहोल्डर हाइपरलिंक" माना जाता है।
उदाहरण:
<a>previous</a>
W3c एंकर टैग संदर्भ पृष्ठ पर "प्लेसहोल्डर हाइपरलिंक" देखें : https://www.w3.org/TR/2016/REC-html51-20161101/textlevel-semantics.html#the-a-element ।
और यहाँ विकी पर भी उल्लेख किया गया है: https://www.w3.org/wiki/Elements/a
एक प्लेसहोल्डर लिंक उन मामलों के लिए है जहां आप एक एंकर तत्व का उपयोग करना चाहते हैं, लेकिन इसे कहीं भी नेविगेट नहीं करना है। यह नेविगेशन मेनू या ब्रेडक्रंब ट्रेल में वर्तमान पृष्ठ को चिह्नित करने के लिए काम आता है। (पुराना तरीका या तो स्पैन टैग या एंकर टैग का उपयोग करना होता है, जिसमें "सक्रिय" या "वर्तमान" नामक वर्ग होता है, इसे स्टाइल करने के लिए और जावास्क्रिप्ट को नेविगेशन रद्द करने के लिए।)
एक प्लेसहोल्डर लिंक उन मामलों में भी उपयोगी है जहां आप रनटाइम के दौरान जावास्क्रिप्ट के माध्यम से लिंक के गंतव्य को गतिशील रूप से सेट करना चाहते हैं। आप बस href विशेषता का मान सेट करते हैं, और एंकर टैग क्लिक करने योग्य हो जाता है।
यह सभी देखें:
href
cursor: pointer
यह ठीक है, लेकिन एक ही समय में कुछ ब्राउज़र धीमा हो सकता है।
http://webdesignfan.com/yslow-tutorial-part-2-of-3-reducing-server-calls/
मेरी सलाह का उपयोग <a href="#"> </a> है
यदि आप JQuery का उपयोग कर रहे हैं, तो यह भी याद रखें:
.click(function(event){
event.preventDefault();
// Click code here...
});
संक्षिप्त उत्तर: नहीं।
लंबा जवाब:
सबसे पहले, एक href विशेषता के बिना, यह एक लिंक नहीं होगा। यदि यह लिंक नहीं है, तो यह कीबोर्ड (या सांस स्विच, या विभिन्न अन्य सूचक आधारित इनपुट डिवाइस) सुलभ नहीं होगा (जब तक कि आप HTML 5 सुविधाओं का उपयोग न करें tabindex
जो सार्वभौमिक रूप से समर्थित नहीं हैं)। यह बहुत ही कम है कि कीबोर्ड की पहुंच न होना नियंत्रण के लिए उचित है।
दूसरा। जब आपके पास जावास्क्रिप्ट नहीं चलता है, तो आपके पास एक विकल्प होना चाहिए (क्योंकि यह सर्वर से लोड करने के लिए धीमा था, एक इंटरनेट कनेक्शन गिरा दिया गया था (जैसे चलती ट्रेन पर मोबाइल सिग्नल), जेएस बंद हो गया है, आदि)।
विनीत जेएस द्वारा प्रगतिशील वृद्धि का उपयोग करें ।
href
यह अनिवार्य था (जब तक कि यह एक नामांकित एंकर नहीं था, जिस स्थिति में टैबइंडेक्स का कोई मतलब नहीं था)। tabindex
टैब ऑर्डर में अपरिहार्य तत्वों को जोड़ने का उपयोग HTML 5 में एक नया नवाचार है
a
एक href
विशेषता के बिना एक टैग होने के लिए पूरी तरह से वैध है ।
यदि आपको बैकवर्ड कम्पैटिबिलिटी के लिए href का उपयोग करना है, तो आप भी उपयोग कर सकते हैं
<a href="javascript:void(0)">link</a>
# के बजाय, यदि आप विशेषता का उपयोग नहीं करना चाहते हैं
टैग एक href विशेषता के बिना उपयोग करने के लिए ठीक है। यहाँ कई जवाबों के विपरीत, वास्तव में एक एंकर बनाने के लिए मानक कारण हैं जब कोई href नहीं होता है। शब्दार्थ, "क" का अर्थ है एक लंगर या एक कड़ी। यदि आप उस अर्थ का अनुसरण करने के लिए इसका उपयोग करते हैं, तो आप ठीक हैं।
एक टैग के बिना टैग का एक मानक उपयोग नामित लिंक बनाने के लिए है। यह आपको नाम = ब्लाह के साथ एक एंकर का उपयोग करने की अनुमति देता है और बाद में आप वर्तमान पृष्ठ के नामित अनुभाग से लिंक करने के लिए href = # ब्लाह के साथ एक एंकर बना सकते हैं। हालाँकि, इसे हटा दिया गया है क्योंकि आप उसी तरीके से आईडी का उपयोग भी कर सकते हैं। उदाहरण के रूप में, आप आईडी = हेडर के साथ हेडर टैग का उपयोग कर सकते हैं और बाद में आप एंकर को href = # हेडर की ओर इशारा कर सकते हैं।
मेरी बात, हालांकि, नाम संपत्ति का उपयोग करने का सुझाव नहीं है। केवल एक उपयोग मामला प्रदान करने के लिए जहां आपको एक href की आवश्यकता नहीं है, और इसलिए यह तर्क देने की आवश्यकता नहीं है कि यह क्यों आवश्यक है।
href
एक <a>
तत्व के लिए विशेषता को छोड़ना सुरक्षित है जो एक इंटरैक्टिव तत्व (यानी लिंक) के रूप में उपयोग किया जा रहा है । जैसा कि आप उल्लेख करते हैं, एक href
विशेषता के बिना यह काफी सरल है ... एक लिंक नहीं है, बस एक लंगर है, जो पूरी तरह से एक अलग चीज है।
<a>
बिना href के एक्सेसिबिलिटी के नजरिए से टैब-सक्षम नहीं है, सभी लिंक टैब-सक्षम होने चाहिए, इसलिए यदि आपके पास href नहीं है, तो tabindex = '0 "जोड़ें।
<a>
जब बहु स्तरीय मेनू का उपयोग कर "href" बिना टैग को सुविधाजनक हो सकता है और आप अगले स्तर का विस्तार करने की जरूरत है लेकिन यह है कि मेनू लेबल एक सक्रिय लिंक होने के लिए नहीं करना चाहती। मुझे इस तरह से इसका उपयोग करने में कभी कोई समस्या नहीं हुई।
कुछ ब्राउज़रों में आप समस्याओं का सामना करेंगे यदि आप एक href विशेषता नहीं दे रहे हैं। मेरा सुझाव है कि आप अपना कोड कुछ इस तरह लिखें:
<a href="#" onclick="yourcode();return false;">Link</a>
आप अपने स्वयं के फ़ंक्शन या लॉजिक के साथ योरकोड () को बदल सकते हैं, लेकिन रिटर्न को गलत जोड़ना याद रखें; अंत में बयान।
#
सूचकांक पृष्ठ के लिए है। मेरे कुछ नौसिखियों के लिंक के लिए मैं एक मार्ग को ट्रिगर नहीं करना चाहता, #
जो कि आपके a href="#"
द्वारा उपयोग किए जाने पर होता है। <a href="#" onclick="return false;"
मार्ग का उपयोग बंद होने से ट्रिगर किया जा रहा है, लेकिन क्लिक इवेंट अभी भी मेरे हैंडलर तक बुलबुले बनाता है (जो कि jQuery और Backbone.Radio के माध्यम से हुक किए गए DOM घटनाओं का उपयोग करता है)। धन्यवाद @ shashwat13 :)