Warum behält DOMParser Inline-Stile von geparstem DOM nicht bei?

8

Ich versuche einfach, eine JavaScript-Zeichenfolge als DOM-Element zu analysieren und anzuhängen. Ich habe zwei schnelle Wege gefunden, dies zu tun, von denen ich DOMParser verwende in diese beliebte SO-Antwort . Beide Methoden funktionieren jedoch, der DOMParser -Ansatz entspricht aus irgendeinem Grund nicht den Inline-Stilen, die ich definiere - obwohl beide Methoden das exakt gleiche dynamische Markup einbringen. Betrachten Sie Folgendes ...

%Vor% %Vor%

Jede Methode injiziert den Knoten entsprechend und das DOM spiegelt die folgenden ...

wider %Vor%

Allerdings ist nur der letzte rot! Irgendeine Idee, was hier möglicherweise vor sich geht?

JSFiddle - Reproduktionsdemo

    
scniro 12.07.2016, 17:56
quelle

3 Antworten

3

Das liegt daran, dass Sie keinen Namespace festgelegt haben. style Attribute haben keine spezielle Bedeutung in XML:

%Vor%
    
Oriol 12.07.2016, 18:02
quelle
1

CSS wird angewendet, wenn Sie die Methode wie folgt verwenden.

%Vor%

hier verwende ich 'text / html' Wie in der Dokumentation Ссылка Die Verwendung von text / html gibt ein HTMLDocument zurück.

Geige: Ссылка

    
Deep 12.07.2016 18:00
quelle
0
%Vor%

Aber das Hinzufügen von Namespaces ist sicherer, wenn Sie möchten, dass Ihr Code auch in XML-Dokumenten und nicht nur in HTML funktioniert.

    
the8472 13.07.2016 09:52
quelle

Tags und Links