svnno****@sourc*****
svnno****@sourc*****
2010年 3月 10日 (水) 19:25:19 JST
Revision: 1711 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1711 Author: dhrname Date: 2010-03-10 19:25:19 +0900 (Wed, 10 Mar 2010) Log Message: ----------- ElementのsetAttributeNSメソッドを修正 Modified Paths: -------------- branches/ufltima/core.js Modified: branches/ufltima/core.js =================================================================== --- branches/ufltima/core.js 2010-03-09 14:42:22 UTC (rev 1710) +++ branches/ufltima/core.js 2010-03-10 10:25:19 UTC (rev 1711) @@ -550,31 +550,14 @@ } }; /*void*/ Element.prototype.setAttributeNS = function( /*string*/ namespaceURI, /*string*/ qualifiedName, /*string*/ value) { - var localName = ""; - if (qualifiedName.indexOf(":") !== -1){ //もし、:が文字内に含まれていれば - var p = qualifiedName.split(":"); //:を区分に切り分けて、配列pに - localName = p[1]; - } else { - localName = qualifiedName; + var atn = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); + atn.nodeValue = value; + atn.value = value; + this.setAttributeNodeNS(atn); + atn.ownerElement = this; + if (atn.localName === "id") { //id属性であったならば + this.ownerDocument._id[value] = this; //ドキュメントに登録しておく } - var n = this.getAttributeNodeNS(namespaceURI, localName); //属性ノードを取得する - if (n) { //該当する属性ノードがあれば、 - n.nodeValue = value; - n.value = value; - /*注意 - *ここで接頭語(属性ノードのprefix)も、qualifiedNameの接頭語にあわせて書き換えられるべきであるが、軽量化のため、省略する - */ - } else { - var atn = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); - atn.nodeValue = value; - atn.value = value; - this.setAttributeNodeNS(atn); - atn.ownerElement = this; - if (qualifiedName === "id" && !namespaceURI) { //id属性であったならば - this.ownerDocument._id[value] = this; //ドキュメントに登録しておく - } - } - localName = null; }; /*void*/ Element.prototype.removeAttributeNS = function( /*string*/ namespaceURI, /*string*/ localName) { };