2012-03-28 8 views
4

Ich versuche, einige Daten gegen ein HTML-Dom-Element zu speichern und möchte nicht auf Attribute für das Element festgelegt werden. Gibt es eine Möglichkeit, ein HTML-Dom-Element für die Verwendung in einer Map zu hashen?Gibt es eine Möglichkeit, ein HTML-Dom-Element für die Verwendung in einer Karte zu hashen?

Beispiel, möchte ich folgendes in Javascript in der Lage sein zu tun:

Map[Hash(DIV1)] = somedata; 
+2

Können Sie erklären, warum Sie sich nicht auf Attribute verlassen wollen, die auf das Element gesetzt sind? – Incognito

+0

Können Sie keine IDs für die HTML-Elemente verwenden? – Fabian

+0

@Incognito: Ich versuche, das DOM sauber zu halten, das benötigt wird, weil ich versuche, HTML zu erzeugen, das vom Benutzer in sein Projekt kopiert werden kann. Also, wenn ich irgendwelche Eigenschaften auf dem Element für das Tracking (während der Benutzer interagiert mit ihnen - eine Art WYSIWYG-Editor), muss ich später aufräumen. – ivymike

Antwort

3

Sie könnten die Daten direkt an den div anhängen.

var nextID = 1; 

var hash = function(div){ 
    div.hashID = div.hashID || ('hashID_' + (nextID++)); 
    return div.hashID; 
} 
+0

Ist das gleiche wie ein Attribut auf das Element setzen? Ich war unter dem (falschen) Eindruck, dass dies ein Attribut erstellt auf der DOM-Baum (wie 'id' oder 'src' oder 'class' usw.). – ivymike

+0

Dies fügt dem Elementobjekt in der js-Laufzeitumgebung eine Eigenschaft hinzu, nicht das DOM. – CharlesTWall3

Verwandte Themen