removeAttributeNS (W3C DOM Core method)
| Version | Depr. | Static |
|---|---|---|
| DOM2 | No | No |
| IE7 | FF1.5+ | SA3+ | OP9+ |
|---|---|---|---|
| None | Buggy | Full | Buggy |
- Returns
void- Throws
NO_MODIFICATION_ALLOWED_ERR
Example
element.removeAttributeNS('http://www.w3.org/1999/xlink', 'href');
The example above removes the href attribute in the
XLINK namespace from an element.
So if the element in that example referred to this XML:
<line xlink:href="http://www.brothercake.com/">brothercake</line>
Then the operation above would result in this:
<line>brothercake</line>
Arguments
- namespace (
DOMString) required The
namespaceURIof the attribute to remove. A value ofnullmeans no namespace.- name (
DOMString) required The
localNameof the attribute to remove.
Description
Remove an attribute with the specified name and namespace URI.
If the attribute has a specific
default value in this document type, removing the attribute should replace
it with the default value, having the same namespaceURI, localName
and prefix.
Unlike Element nodes, Attr nodes do not
inherit a namespace from the element they're attached to — if an attribute
does not have an explicitly defined namespace then it simply has no
namespace. See Attr for more details.
Compatibility
| Internet Explorer | Firefox | Safari | Opera | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 5.5 | 6.0 | 7.0 | 1.5 | 2.0 | 3.0 | 1.3 | 2.0 | 3.0 | 9.0 | 9.5 |
| None | None | None | Buggy | Buggy | Buggy | Buggy | Buggy | Full | Buggy | Buggy |
Internet Explorer doesn't implement this method (it returns undefined).
Opera returns
null for attributes which are not defined, rather than
an empty string.
In Safari 1.3 and 2 attributes inherit a namespace from their owning element, therefore this method matches attributes with no explicit namespace if the namespace argument matches the default.
Additionally, Safari
1.3 cannot see the xml prefix, so an
xml:lang attribute will be treated as a
lang attribute, and matched only if the namespace
argument is http://www.w3.org/1999/xhtml (even when the
document isn't any flavour of HTML); other XML attributes which have no
HTML analog (such as xml:space) will be matched if
the namespace argument is null or an empty string. In
Safari 2 this is only the case for an
xml:lang attribute — other XML attributes are
matched correctly, although they are also still matched if the namespace
argument is null or an empty string.
In
Firefox and Opera an
empty-string namespace is treated the same as a null
namespace (ie. it's taken to mean no namespace, when it
should be treated as a real namespace URI); only Safari
3 gets this right.
Since namespaces are an XML construct, it's only reasonable to judge the behavior of this method in terms of XML (either on HTML pages in XHTML mode1, or pure XML). The behavioral variations of browsers in HTML mode2 are documented here for interest and reference, but the support summary table above does not consider this behavior.
All supported browsers in HTML mode
behave essentially the same as they do in XHTML mode, except that they
don't recognise namespaces at all. (So Opera and
Firefox only match explicitly defined attributes in no
namespace if the namespace argument is null or an
empty string; Safari 3 only matches
explicitly defined attributes in no namespace if the namespace
argument is null; Safari 1.3 and
2 only match explicitly defined attributes without a
namespace if the namespace argument matches the default.)
User-contributed notes
There are no comments yet.
Add a note
To post a note on this topic, please log in with your SitePoint username and password. If you don't have an account yet, you can create a new account for free.