Ich möchte, dass eine bestimmte Aktion auf dem Click-Ereignis des Anker-Tag zugeordnet werden, wenn sein href
Attribut:a: nicht (a: nicht ([href])) Selektor
- nicht mit
mailto:
startet und - nicht mit
#
Ende und - vorhanden ist, mit einem beliebigen Wert einschließlich leeren
So war ich diesen Code versuchen:
<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>
Und es hat nicht funktioniert. Aber zu meiner Bestürzung funktioniert das:
$(document).on('click', 'a:not([href^="mailto\\:"], [href$="\\#"], a:not([href]))', myFunction);
Aber ich verstehe nicht wie. Beachten Sie die innere :not()
. Wie ich verstehe, bedeutet die [href]
, dass es kein href
Attribut gibt. Oder ist es das Gegenteil?
Könnte mich jemand zum Licht führen?
Wahr Vielleicht möchte er stattdessen [href]: not (...). – pimvdb
gibt es auch href = "javascript: void (0)" – Toolkit