2010-12-08 9 views
1

Dies ist MADDENING.Warum funktioniert dieses Beispiel für jQuery Data nicht?

Hier ist mein html:

<td><a class="opener" data-dialogid="dialog1"><%= responsibility.user.email %></a></td> 

Und hier ist meine jQuery-Code:

$('.opener').mouseover(function() { 
    alert($(this).data("dialogid")); 
    return false; 
}); 

ich über jede mögliche Wiederholung dieser "alert" Linie versucht haben. Ich versuche im Grunde, einen Datenwert an mein Javascript zu übergeben. Aber es scheint unmöglich. Ich ziehe mir die Haare aus, das ist wirklich sehr frustrierend.

Antwort

3

Sie haben data-dialogid, aber es ist für data-digitalid suchen, machen sie passen :)

Zum Beispiel:

$('.opener').mouseover(function() { 
    alert($(this).data("dialogid")); 
    return false; 
}); 

Beachten Sie auch, dass dies funktioniert nur in jQuery 1.4.3+, würden Sie .attr("data-dialogid") brauchen davor.

+0

+1. Ich wusste bis jetzt nichts über das Datenpräfix thingumajig. – karim79

+0

Danke Nick. Das war ziemlich dumm von mir. Ich werde jedoch immer noch "undefiniert" in meiner Warnung, auch nach der Reparatur. Es kommt also immer noch nicht zu diesem Wert von meinem HTML. – AKWF

+1

@AKWF sind Sie sicher, dass Sie jQuery 1.4.4 (oder 1.4.3 verwenden, aber wenn Sie 1.4.3 verwenden, müssen Sie trotzdem upgraden)? – Pointy

Verwandte Themen