Friday, August 17, 2012

setAttributeNodeNS()

Metode Element.setAttributeNodeNS() (Core Level 2) menetapkan Attribute node baru untuk elemen ini dengan namespaceURI dan localName yang ditetapkan, sebagai objek Attr.

Sintaks:

Element.setAttributeNodeNS(newAttr)

Parameter newAttr adalah Attribute node yang ingin ditambahkan.

Metode Element.setAttributeNodeNS() di dukung oleh mayoritas browser: Opera, Firefox, Google Chrome, dan Safari - kecuali IE.

Contoh di bawah ini menambahkan Attribute node untuk elemen DATA di dalam dokumen XML:

<SCRIPT TYPE="text/javascript"> var txt='<m:DATA xmlns:m="http://example.com/male/">'; txt=txt+'<m:NAME>Gunawan</m:NAME>'; txt=txt+'<m:AGE>31</m:AGE>'; txt=txt+'</m:DATA>'; //Parser for IE if(window.ActiveXObject){ var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(txt); } //Parser for non-IE else{ var parser = new DOMParser(); var xmlDoc = parser.parseFromString(txt,"text/xml"); } var dataElem = xmlDoc.getElementsByTagNameNS("http://example.com/male/","DATA")[0]; function foo1(){ alert(dataElem.hasAttributeNS("http://example.com/male/","GENDER")); } function foo2(){ var newAttrNode = xmlDoc.createAttributeNS("http://example.com/male/","GENDER"); newAttrNode.value = "male"; dataElem.setAttributeNodeNS(newAttrNode); } </SCRIPT> <BUTTON ONCLICK="foo1()">Apakah elemen DATA mempunyai atribut GENDER?</BUTTON> <BUTTON ONCLICK="foo2()">Tambahkan GENDER untuk elemen DATA.</BUTTON>

Metode Element.setAttributeNodeNS() digunakan di XML DOM, bukan di HTML DOM.