DOM - Element Object Method - setAttributeNodeNS


Advertisements

The method setAttributeNodeNS adds a new attribute. If an attribute with that local name and that namespace URI is already present in the element, it is replaced by the new one.

Syntax

Following is the syntax for the usage of the setAttributeNodeNS method.

elementObj.setAttributeNodeNS(newAttr)

S.No. Parameter & Description
1

newAttr

The Attr node to add to the attribute list.

It returns a replaced Attr node.

Example

node_ns.xml contents are as below −

<?xml version = "1.0"?>
<Company>
   <Employee xmlns:e = "http://www.tutorials.com/technical/" category = "technical">
      <e:FirstName e:lang = "en">Tanmay</e:FirstName>
      <e:LastName>Patil</e:LastName>
      <e:ContactNo>1234567890</e:ContactNo>
      <e:Email>tanmaypatil@xyz.com</e:Email>
   </Employee>
   
   <Employee xmlns:n = "http://www.tutorials.com/non-technical/" category = "non-technical">
      <n:FirstName n:lang = "en">Taniya</n:FirstName>
      <n:LastName>Mishra</n:LastName>
      <n:ContactNo>1234667898</n:ContactNo>
      <n:Email>taniyamishra@xyz.com</n:Email>
   </Employee>
</Company>

Following example demonstrates the usage of the setAttributeNodeNS method −

<!DOCTYPE html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node_ns.xml");
         x1 = xmlDoc.getElementsByTagName('FirstName')[0];
         x2 = xmlDoc.getElementsByTagName('FirstName')[1];
         ns="http://www.tutorials.com/technical/";
         var nsattr = x1.getAttributeNodeNS(ns, "lang"); 
         x2.setAttributeNodeNS(nsattr.cloneNode(true));
         document.write(x2.attributes[1].value); // returns: 'en'
     </script>
   </body>
</html>

Execution

Save this file as elementattribute_setAttributeNodeNS.htm on the server path (this file and node_ns.xml should be on the same path in your server). We will get the output as shown below −

en
dom_element_object.htm

Useful Video Courses


Video

Decision Trees, Random Forests, AdaBoost & XGBoost in R

33 Lectures 3.5 hours

Abhishek And Pukhraj

Video

SEO Secrets of Google: Expired Domains & 301 Redirects

15 Lectures 1 hours

Zach Miller

Video

Mental Freedom: From PAIN To POWER

15 Lectures 4 hours

Prof. Paul Cline, Ed.D

Video

Mental Freedom: Freedom From Pain

13 Lectures 4 hours

Prof. Paul Cline, Ed.D

Video

JavaScript DOM Game - Deal making game using JavaScript only

17 Lectures 2 hours

Laurence Svekis

Advertisements