jQuery überprüfen, ob Ziel Link ist

7

Ich habe eine globale Funktion zum Erfassen von Klicks.

%Vor%

Ich möchte zusätzliche Sachen machen, wenn das Ziel ein Link ist, aber wenn das <a> -Tag tatsächlich ein div umgibt (wie HTML5 dies erlaubt), wird das Ziel dieses div sein.

Ссылка

    
Cristy 14.01.2013, 21:57
quelle

7 Antworten

26

Sie können versuchen zu sehen, ob das Element, auf das Sie geklickt haben, ein Kind eines <a> -Tags ist oder ist.

%Vor%     
Rocket Hazmat 14.01.2013, 22:03
quelle
10

Ich glaube, dass die Verwendung von is tatsächlich eine bessere Leistung hat als die Antworten, die auf closest hinweisen:

%Vor%

Dies prüft, ob das Element selbst ein a ist oder ob es mit einem a enthalten ist.

Dies sollte schneller als closest sein, da Treffer verwendet werden auf dem Element selbst und muss nicht den DOM-Baum durchlaufen, wie closest es tun wird.

    
James Montagne 28.03.2016 23:26
quelle
5

Versuchen Sie es

%Vor%     
kreig 14.01.2013 22:03
quelle
1

Mit jquery erhalten Sie nur das TagName-Attribut $ ("a"). prop ("tagName");

    
Greg 14.01.2013 21:58
quelle
0

Aktualisiert: Sie können überprüfen, ob das Ziel ein a oder ob ein Elternteil ein a ist.

%Vor%

Ссылка

    
Robin Drexler 14.01.2013 22:06
quelle
0

Sie können testen, ob es ein <div> unter <a> gibt, indem Sie testen, ob .children() <div> irgendetwas hat im Inneren. Wenn nichts drin ist oder kein <div> vorhanden ist, gibt die if -Anweisung false zurück.

Ich schlage diesen Code vor:

%Vor%     
SeinopSys 14.01.2013 22:30
quelle
0

Wenn das genaue Ziel ein Link ist, können Sie .is()

verwenden

Beispiel:

%Vor%

BEARBEITEN:

Wenn es von einem anderen Element umgeben ist, das sich innerhalb eines Anchor-Tags befindet, können Sie closest() verwenden und mit length

überprüfen, ob es übergeordnete Anchor-Tags hat oder nicht

Beispiel:

%Vor%     
KeepMove 22.04.2015 04:28
quelle

Tags und Links