javascript - Diferencia entre setAttribute y setAttributeNS(null,
setattribute javascript (3)
El método setAttributeNS es un método XML y no funcionará con elementos HTML.
¿Cuál es la diferencia entre llamar a setAttribute y setAttributeNS con null como el parámetro de espacio de nombres?
¿También hay un problema con el uso de getAttribute () y luego setAttributeNS?
setAttributeNS
se usa para especificar el espacio de nombres y agrega un nuevo atributo con un espacio de nombres. NS
representa eso. También requiere tres parámetros
element.setAttributeNS(ns,name,value)
ns :namespace URI of the attribute to set
name:Name of the attribute to set
value:Value of the attribute to set
setAttribute(name,value) which is use to add a new attribute or change the value of existing attribute.
setAttribute () es una función DOM 1. setAttributeNS () es una función DOM 2 que resuelve el problema de etiquetas conflictivas o nombres de atributos al especificar el espacio de nombres xmlns que debe aplicarse a la etiqueta / atributo en el primer argumento.
Si un atributo no tiene un prefijo de espacio de nombre definido, el primer argumento debe ser nulo . Puede usar setAttribute () pero para consistencia es aconsejable apegarse a setAttributeNS () . Ver:
https://developer.mozilla.org/en/docs/Web/SVG/Namespaces_Crash_Course#Scripting_in_namespaced_XML
"Sin embargo, tenga en cuenta: la recomendación Namespaces in XML 1.1 establece que el nombre del espacio de nombres para los atributos sin un prefijo no tiene un valor. En otras palabras, aunque los atributos pertenecen al espacio de nombre de la etiqueta, no utiliza el espacio de nombres de la etiqueta nombre. En su lugar, debe usar null como nombre de espacio de nombres para atributos no calificados (sin prefijos) ".