DOM - Método de objeto de elemento - setAttributeNS

El método setAttributeNS agrega un nuevo atributo. Si un atributo con el mismo nombre local y URI de espacio de nombres ya está presente en el elemento, su prefijo se cambia para que sea la parte del prefijo de QualifiedName, y su valor se cambia para ser el parámetro de valor.

Sintaxis

A continuación se muestra la sintaxis para el uso del método setAttributeNS .

elementObj.setAttributeNS(namespace,name,value)

S.No. Descripción de parámetros
1

namespace

Es una cadena que especifica el espacio de nombres del atributo.

2

name

Es una cadena que identifica el atributo a establecer.

3

value

Es el valor de cadena deseado del nuevo atributo.

Ejemplo

El contenido de node_ns.xml es el siguiente:

<?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>[email protected]</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>[email protected]</n:Email>
   </Employee>
</Company>

El siguiente ejemplo demuestra el uso del método setAttributeNS :

<!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");
         x = xmlDoc.getElementsByTagName('FirstName')[0];
         ns="http://www.tutorials.com/technical/";
         document.write("<b>Before using setattributeNS method: </b> ");
         document.write(x.getAttributeNS(ns,"lang"));
         x.setAttributeNS(ns,"lang","DE");
         document.write("<br><b>After using setattributeNS method: </b> ");
         document.write(x.getAttributeNS(ns,"lang"));
      </script>
   </body>
</html>

Ejecución

Guarde este archivo como elementattribute_setAttributeNS.htm en la ruta del servidor (este archivo y node_ns.xml deben estar en la misma ruta en su servidor). Obtendremos el resultado como se muestra a continuación:

Before using setattributeNS method: en
After using setattributeNS method: DE