Ändern der Schriftart nach createTextNode ()

8

Ich muss die Schriftart des Elements ändern, das von der Funktion createTextNode () erstellt wurde:

%Vor%

In meinem Code bekomme ich einen Fehler bei Firebug:

  

s.setAttribute ist keine Funktion

Wie kann ich eine Schriftart eines erstellten Elements ändern?

    
demas 05.04.2011, 08:24
quelle

3 Antworten

9

Sie geben die Schriftart nicht auf Textknoten an, sondern auf dem übergeordneten Element - in Ihrem Fall:

%Vor%

Wenn Sie die Schriftgröße für das gesamte übergeordnete Element nicht ändern möchten, können Sie ein <span> -Element erstellen, das den Textknoten umschließt:

%Vor%     
David Tang 05.04.2011, 08:32
quelle
1

createTextNode erstellt einen Text -Knoten, der nur einen Knoten enthält Methode: splitText. setAttribute ist eine Methode des DOM-Core, die von implementiert wird die Element-Schnittstelle (dh keine Textknoten).

Im Allgemeinen sollten Sie setAttribute vermeiden, da es zahlreiche Macken hat und das Festlegen der zugehörigen DOM-Eigenschaft schneller und zuverlässiger ist.

In HTML 4.01 ist kein "fontSize" -Attribut für Textknoten angegeben, daher können Sie nicht erwarten, dass Browser es implementieren. Textknoten erben ihren Stil von ihrem übergeordneten Element. Wenn Sie also die Schriftgröße eines Textes festlegen möchten, müssen Sie sie in ein Element einfügen:

%Vor%

Aber im Allgemeinen ist es besser, den Stil in einer Klasse zu definieren und ihn an den Bereich anzuhängen.

    
RobG 05.04.2011 08:49
quelle
0

vielleicht könnten Sie inline css verwenden. Versuche das nie mit einem textnode, obwohl

%Vor%     
gen 05.04.2011 08:32
quelle

Tags und Links