Wie verhindere ich, dass jQuery das Attribut "xmlns" in ein XML-Objekt einfügt?

9

Ich habe die neue Methode $.parseXML() mit jQuery 1.5 verwendet. Immer wenn ich ein neues Element in das XML-Objekt einfüge, erhält dieses neue Element automatisch das Attribut "xmlns" mit dem Wert "http://www.w3.org/1999/xhtml". Sehen Sie sich zum Beispiel das Code-Snippet an:

%Vor%

Der Code erstellt das folgende Element:

%Vor%

Wie verhindere ich, dass jQuery das Attribut "xmlns" einfügt? Ich habe versucht, die .removeAttr() -Methode zu verwenden, aber nicht einmal das scheint zu funktionieren. Irgendwelche Ideen?

UPDATE: Der Vorschlag, den Benutzer nrabinowitz anbot, war hilfreich bei der Lösung dieses Problems. Das Hinzufügen eines xlmns-Attributs zum Element der obersten Ebene verhindert, dass das xlmns-Attribut automatisch jedem neuen Element zugewiesen wird. Trotzdem entschied ich mich für eine andere Lösung für mein spezielles Programm. Ich habe stattdessen die .replace() -Methode verwendet, um alle xlmns-Attribute zu entfernen, nachdem ich das XML-Objekt wieder in eine Zeichenfolge umgewandelt hatte (um auf einer Webseite angezeigt zu werden).

    
jake 10.11.2011, 18:06
quelle

3 Antworten

3

versuche,

zu verwenden %Vor%     
Shailesh Jangir 29.11.2011, 05:35
quelle
1

Der Knoten, den Sie einfügen, hat eine andere namespaceURI-Eigenschaft.

Von $ .parseXML abgeleiteter Knoten

%Vor%

Ihr erstellter Knoten

%Vor%

Sie möchten, dass Ihr erzeugter Knoten auch einen NamespaceURI mit dem Wert null hat.

Damit der erstellte Knoten den Namespace mit jQuery erbt, geben Sie den ursprünglichen Knoten als zweites Argument an $ () wie $('<five>some value</five>', myXml) an.

%Vor%     
user5213382 09.09.2015 18:52
quelle
0

Das musst du so machen:

%Vor%     
elad gasner 22.12.2014 13:30
quelle

Tags und Links