You are here: Reference > JavaScript > client-side > HTML DOM > methods > createAttributeNS (document, XMLDocument)

createAttributeNS method (document, XMLDocument)

Browser support:
9
Creates a new attribute node with the specified namespace and name.
Note: Internet Explorer supports the createAttributeNS method from version 9, but only for HTML documents, not for XML documents.
After the new attribute node is created, use the setAttributeNodeNS or setNamedItemNS method to insert it into a document.
You do not need to work with attribute nodes to add an attribute with the specified namespace, name and value to an element; the use of the setAttributeNS method is simpler.

Syntax:

object.createAttributeNS (namespaceURI, attributeName);
You can find the related objects in the Supported by objects section below.

Parameters:

namespaceURI
Required. String that specifies the namespace URI of the attribute.
attributeName
Required. String that specifies the name of the attribute.

Return value:

Returns the newly created attribute object.

Methods for attributes with namespaces:

Name Browser Description
createAttributeNS
9
Creates a new attribute node with the specified namespace and name.
getAttributeNS
9
Returns the value of the attribute with the specified namespace and name from the current element.
getAttributeNodeNS
9
Returns the attribute node with the specified namespace and name from the current element.
getNamedItemNS
9
Returns the attribute node with the specified namespace and name from the current attributes collection.
hasAttributeNS
9
Returns whether the current element has an attribute with the specified namespace and name or not.
removeAttributeNS
9
Removes the attribute with the specified namespace and name from the current element.
removeAttributeNode
Removes the specified attribute node from the current element.
removeNamedItemNS
9
Removes the attribute with the specified namespace and name from the current attributes collection and returns the removed attribute node.
setAttributeNS
9
Adds an attribute with the specified namespace, name and value to the current element.
setAttributeNodeNS
9
Adds the specified attribute node to the current element.
setNamedItemNS
9
Adds the specified attribute node to the current attributes collection.

Example HTML code 1:

This example illustrates the use of the createAttributeNS method:
Code
ajax.js
ns.xml
<head>
    <script type="text/javascript" src="ajax.js"></script>
    
    <script type="text/javascript">
        var httpRequest = null;
        
        function SendRequest () {
            if (!httpRequest) {
                httpRequest = CreateHTTPRequestObject ();   // defined in ajax.js
            }
            if (httpRequest) {          
                    // The requested file must be in the same domain that the page is served from.
                var url = "ns.xml";
                httpRequest.open ("GET", url, true);    // async
                httpRequest.onreadystatechange = OnStateChange;
                httpRequest.send (null);
            }
        }

        function OnStateChange () {
            if (httpRequest.readyState == 0 || httpRequest.readyState == 4) {
                if (IsRequestSuccessful (httpRequest)) {    // defined in ajax.js
                    Test_CreateAttributeNS ();
                }
                else {
                    alert ("Operation failed.");
                }
            }
        }

        function Test_CreateAttributeNS () {
            var xmlDoc = ParseHTTPResponse (httpRequest);   // defined in ajax.js
            if (!xmlDoc)
                return;

            var itemTags = xmlDoc.getElementsByTagName ("item");
            var firstItem = itemTags[0];

            if (xmlDoc.createAttributeNS && firstItem.getAttributeNS && firstItem.setAttributeNodeNS) {
                var color = firstItem.getAttributeNS ("http://help.dottoro.com/NS", "color");
                alert ("The value of the color attribute is " + color);

                var newAttr = xmlDoc.createAttributeNS ("http://help.dottoro.com/NS", "color");
                newAttr.value = "blue";
                firstItem.setAttributeNodeNS (newAttr);

                var color = firstItem.getAttributeNS ("http://help.dottoro.com/NS", "color");
                alert ("The value of the color attribute is " + color);
            }
            else {
                alert ("Your browser doesn't support this functionality!");
            }

        }

    </script>
</head>
<body>
    <button onclick="SendRequest ()">Test the createAttributeNS method</button>
</body>
Did you find this example helpful? yes no

Supported by objects:

Related pages:

External links:

User Contributed Comments

Post Content

Post Content