in partnership with mediatemple

Ticket #688 (new defect)

Opened 5 months ago

Last modified 3 months ago

Document.createElement namepacing issue

Reported by: 131 Owned by:
Type: defect Priority: minor
Milestone: Mootools version 1.2 Component: Core
Keywords: createElement namespace Cc:

Description

Under some browser, you have to use CreateElementNS instead of CreateElement? for defining namespace.

More over, document.namespaceURI is NOT correct
document do not have a namespace, the root element of this document does. so i suggest

this.createElementNS?this.createElementNS(this.documentElement.namespaceURI,tag):this.createElement(tag);

Here is a diff for 1303
http://demo.exyks.org/bugs/diffs/createelement.diff

Change History

Changed 5 months ago by 131

Changed 5 months ago by 131

Changed 3 months ago by 131

Index: trunk/Source/Element/Element.js
===================================================================
--- trunk/Source/Element/Element.js	(revision 1412)
+++ trunk/Source/Element/Element.js	(working copy)
@@ -6,7 +6,7 @@
 License:
 	MIT-style license.
 */
-
+ 
 Document.implement({
 	
 	newElement: function(tag, props){
@@ -18,7 +18,9 @@
 			});
 			tag = '<' + tag + '>';
 		}
-		return $.element(this.createElement(tag)).set(props);
+		return $.element(this.createElementNS?
+			this.createElementNS(this.documentElement.namespaceURI,tag)
+			:this.createElement(tag)).set(props);
 	},
 	
 	newTextNode: function(text){
Note: See TracTickets for help on using tickets.