2012-07-26 7 views
10

मुझे लगता है कि विशेष प्रकार की गतिविधि एंकर टैग की क्लिक करें घटना के जुड़े होने पर जब भी अपने href विशेषता हैं:एक: नहीं (एक: नहीं ([href])) चयनकर्ता

  • mailto: साथ शुरू नहीं करता और
  • # साथ अंत नहीं है और
  • खाली इस कोड

तो मैं कोशिश कर रहा था सहित किसी भी मूल्य के साथ मौजूद है:

<a href="example.com">example.com</a> 
<a href="mailto:[email protected]">Someone</a> 
<a href="thepage#">The Page</a> 
<a>This does nothing</a> 

<script type="text/javascript"> 
    $(document).on('click', 'a:not([href^="mailto\\:"], [href$="\\#"], [href])', myFunction); 
</script> 

और यह काम नहीं किया। लेकिन मेरी निराशा के लिए यह काम करता है:

$(document).on('click', 'a:not([href^="mailto\\:"], [href$="\\#"], a:not([href]))', myFunction); 

लेकिन मुझे समझ में नहीं आता कि कैसे। आंतरिक :not() पर ध्यान दें। जैसा कि मैं समझता हूं कि [href] का अर्थ है href विशेषता नहीं है। या यह विपरीत है?

क्या कोई मुझे प्रकाश में ले जा सकता है?

उत्तर

9

[href] का मतलब है कि कोई href विशेषता है, चाहे कोई भी हो, यदि कोई है, तो इसका मूल्य है।

रूप pimvdb सही ढंग से कहा, तुम

a[href]:not([href^="mailto\\:"], [href$="\\#"])

इस्तेमाल कर सकते हैं "इसका मतलब है किसी भी href विशेषता के साथ सभी एक तत्व है, जिनकी href विशेषता mailto साथ शुरू होता है को छोड़कर: या #

+3

यह सच है के साथ समाप्त होता , वह एक [href]: नहीं (...) चाह सकता है। – pimvdb

+0

वहाँ href = "जावास्क्रिप्ट: शून्य (0)" भी है – Toolkit

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