2010-06-02 20 views
5

erfassen Ich habe den folgenden HTML-Code im Backend, dh.Wie man einen Klick auf einen href-Wert mit jQuery

<div class="navi"> 
    <a class="" href="0"></a> 
    <a class="" href="1"></a> 
    <a class="" href="2"></a> 
    <a class="" href="3"></a> 
</div> 

Apologies für die grundlegende Frage, aber ich möchte jQuery verwenden, um die Benutzer-Klick zu erfassen, wenn sie auf dem href-Wert von „0“

Grundsätzlich wollen klicken Sie nur ein div verstecken genannt „info“ wenn der Benutzer auf die wo die href = "0" klickt

Unsicher wie?

Danke.

Antwort

8

können Sie die attribute-equals selector verwenden, wie dies (obwohl ich nicht glaube, das ist eine gültiges href):

$("a[href=0]").click(function() { 
    $("#info").hide(); 
}); 

Ein besserer Ansatz, wenn möglich, wäre die <a> ein besseres href, dass die Punkte zu geben, dies die <div>, wie:

<div class="navi"> 
    <a class="" href="#info"></a> 
    <a class="" href="#info1"></a> 
    <a class="" href="#info2"></a> 
    <a class="" href="#info3"></a> 
</div> 

Dann können Sie einen allgemeineres Click-Handler verwenden, um die entsprechenden <div> wie dies im Zusammenhang:

$(".navi a").click(function() { 
    $(this.hash).toggle(); 
}); 

Dies würde <div id="info"> wechseln, wenn Sie die href="#info" Link geklickt, die gleiche oder die anderen ... wenn Sie Ihre Links alle auf divs beziehen, das ist ein viel besserer Weg zu gehen, und es verschlechtert sich anmutig mit Javascript deaktiviert .

+0

Ich denke, Sie sollten 'false zurückgeben;' auf dem ..;) – Reigel

+0

@Reigel - Derzeit geht es zu diesem div's Speicherort auf der Seite, wenn Sie nicht möchten, könnte 'false;' oder 'e .preventDefault(); ', aber normalerweise * wollen * Sie nicht, die Art, wie es ist, erlaubt Ihnen, dieses div zu erstellen, das zeigt, wenn Sie F5 zum Beispiel drücken, oder bookmarken, usw ... die Hash-Navigation hat viele Anwendungen. Denken Sie daran, wenn es sich um einen Hash-Link handelt, verlassen Sie die Seite nicht. –

+0

ahhh gut, guter Punkt Nick;) – Reigel

Verwandte Themen