2012-06-04 20 views
7

अद्यतन"जावास्क्रिप्ट:;" HTML एंकर टैग

क्या कोड के नीचे मतलब है और क्या करता है में href विशेषता के लिए? इसे काम करने के लिए जावास्क्रिप्ट की जरूरत है?

<a href="javascript:;">Do Somthing</a> 

अद्यतन

?:

<a href="">Do Somthing</a> 
+1

वायु सेना अकादमी आईके का मतलब है "कुछ भी नहीं" – Alex

+1

क्यों न सिर्फ कोशिश करें? –

उत्तर

13

क्या होगा "जावास्क्रिप्ट:" का उपयोग करते हुए यहां <a> tag.But का उपयोग कर बुलाया जाएगा निर्दिष्ट करेगा करने के लिए एक href विशेषता की शुरुआत के रूप में एक लिंक जावास्क्रिप्ट इंजन को जावास्क्रिप्ट के रूप में व्याख्या करने के लिए शेष स्ट्रिंग का उपयोग करने के लिए कहता है। इस मामले में, यह सख्त व्याख्या में एक वाक्यविन्यास त्रुटि का कारण बनता है, क्योंकि यह एक समापन अर्धविराम के साथ प्रभावी रूप से एक खाली जावास्क्रिप्ट लाइन है। इस तरह:

; 

अधिकतर ब्राउज़र लिंक पर जावास्क्रिप्ट के रूप में वर्ष वाक्य रचना कर रहे हैं और जब संभव से बचा जाना चाहिए, एक त्रुटि फेंक नहीं होगा हालांकि,। आप इसे एक लिंक के रूप में सुरक्षित रूप से उपयोग कर सकते हैं जो कुछ भी नहीं करता है, हालांकि मैं इसकी अनुशंसा नहीं करता।

आप एक लिंक कुछ नहीं करना चाहते हैं, तो आप के बजाय इस इस्तेमाल कर सकते हैं:

<a href="#">Link</a> 
<a href="javascript:void(0);">Link</a> 
<a href="javascript:return false;">Link</a> 

एक खाली href स्ट्रिंग का उपयोग ब्राउज़र एक रिश्तेदार कड़ी के रूप में व्याख्या कर देगा। ऐसे यूआरएल जो प्रोटोकॉल से शुरू नहीं होते हैं या एक उच्च स्तरीय डोमेन या आईपी पते जैसे पहचानकर्ता को रिश्तेदार लिंक के रूप में माना जाएगा। उदाहरण के लिए, डोमेन "index.htm" डोमेन "google.com" पर लिंक "google.com/index.htm" लिंक बनाएगा। इसी तरह, href स्ट्रिंग "" लिंक "google.com/" लिंक बनाएगा और इसलिए खाली href स्ट्रिंग ब्राउज़र को नए पृष्ठ पर नेविगेट करने का कारण बनेंगे।

आम तौर पर एक लिंक पॉइंटर कर्सर नहीं दिखाएगा या यदि आप एक href विशेषता निर्दिष्ट नहीं करते हैं तो तत्व को लिंक की तरह प्रारूपित नहीं किया जाएगा, ऐसा इसलिए है कि आप इसे "एंकर" तत्व के रूप में उपयोग कर सकते हैं जिसे आप हैश का उपयोग करने के लिए लिंक कर सकते हैं एक यूआरएल में चरित्र।इस तरह के "http://google.com/#an_anchor" इस के समान एक लंगर के लिए ले जाएगा के रूप में: <a id="an_anchor">This is an anchor</a>

आप इस प्रारूप में होना करने के लिए लिंक के लिए मजबूर करने, सीएसएस का उपयोग कर सकते हालांकि:

सीएसएस:

a { 
    color: #00c; 
    text-decoration: underline; 
    cursor: pointer; 
} 

HTML:

<a>This is a link.</a> 

उदाहरण: http://jsfiddle.net/J3RfH/

+0

क्या उन तीन एंकरों का पृष्ठ पृष्ठ के शीर्ष पर पहुंच जाएगा? – Pingpong

+0

'जावास्क्रिप्ट:;'/';' निश्चित रूप से वाक्यविन्यास त्रुटि नहीं है। –

0

यह कुछ नहीं करता है और न सेशन के साथ कहीं जाने के लिए, लिंक बनाने a टैग के डिफ़ॉल्ट व्यवहार को बदलने का मतलब है नीचे के बराबर है अनिवार्य रूप से unclickable।

5

यह एक नो-ऑप है।

अन्य आम तरीका href="#" है, लेकिन आपको पृष्ठ के शीर्ष पर कूदने और पता बार में # प्राप्त करने के लिए ऑनक्लिक ईवेंट में return false की आवश्यकता है।

ध्यान दें कि जावास्क्रिप्ट के साथ और बिना दोनों लिंक काम करना आम तौर पर एक अच्छा विचार है, यानी <a href="/whatever" onclick="dowhatever(); return false;"> जैसे कुछ करें ताकि जावास्क्रिप्ट के बिना लोग क्लासिक तरीके से पृष्ठ खोल सकें जबकि जावास्क्रिप्ट वाले लोग आपको जो भी अच्छी चीजें प्राप्त करते हैं जेएस के साथ किया था।

कुछ बिल्कुल जावास्क्रिप्ट के बिना काम करने की अपेक्षा की नहीं है, तो जिसका अर्थ है कोई उपयोगी href मूल्य नहीं होता है, बिल्कुल a टैग का उपयोग नहीं करने पर विचार लेकिन एक उचित शैली (cursor:pointer और संभवतः को रेखांकित किया) के साथ एक span का उपयोग करें।

0

अगर आप कुछ समारोह के बाद : तो यह आप निर्दिष्ट नहीं किया है किसी भी समारोह तो कुछ भी नहीं

संबंधित मुद्दे