Legen Sie das ID-Attribut für eine Snap.svg-Grafik fest

7

Ich verwende die Snap.svg API und ich habe drei Grafiken, die ich in meinem CSS für Styling-Zwecke auswählen muss. Um zwischen ihnen zu unterscheiden, muss ich ihnen einen ID- oder Klassennamen geben.

So erstelle ich ein Element:

%Vor%

Das ist das Ergebnis, das ich bekomme:

%Vor%

Dafür brauche ich das Ergebnis:

%Vor%     
João Belo 28.10.2013, 18:25
quelle

2 Antworten

13

Aktualisieren

Ich habe ein Problem auf GitHub angesprochen und es sieht so aus, als ob in der nächsten Version behoben sein wird . Für den Entwicklungszweig können Sie jetzt Element.attr :

verwenden %Vor%

Ich lasse die ursprüngliche Antwort unten, weil:

  1. zum Zeitpunkt des Schreibens funktioniert dies nicht in der Master (Release) Version; und
  2. Die Technik, die für den direkten Zugriff auf den zugrunde liegenden DOM-Knoten beschrieben wird, könnte in Zukunft für andere nützlich sein oder für diejenigen, die eine ältere Version von Snap.svg verwenden.

Es ist nicht dokumentiert, aber intern speichert Snap.svg den DOM-Knoten in einer Eigenschaft mit dem Namen node . So können Sie die ID des Canvas so einstellen:

%Vor%

Wenn Sie nicht dokumentierte Techniken vermeiden möchten, können Sie alternativ ein Element mit der ID zuerst erstellen und diese direkt verwenden:

%Vor% %Vor%     
Jordan Gray 28.10.2013, 20:14
quelle
5

Mit der Snap-Version 0.2.0 funktioniert die .attr() -Methode wie erwartet,

%Vor%

aber mit der Snap-Version 0.1.0 hatte ich die Änderung snap.svg.js (ca. Zeile 4338), um dies zu ermöglichen.

%Vor%     
Kevin Hakanson 06.01.2014 03:43
quelle

Tags und Links