问题描述
以null作为命名空间参数调用setAttribute和setAttributeNS有什么区别?
What is the difference between calling setAttribute and setAttributeNS with null as the namespace parameter?
使用getAttribute()然后使用setAttributeNS还有一个问题吗?
Also is there an issue with using getAttribute() and then setAttributeNS ?
推荐答案
setAttribute()是DOM 1函数. setAttributeNS()是DOM 2函数,通过在第一个参数中指定应应用于标签/属性的xmlns命名空间,解决了标签或属性名称冲突的问题.
setAttribute() is a DOM 1 function. setAttributeNS() is a DOM 2 function that resolves the problem of conflicting tag or attribute names by specifying the xmlns namespace that should apply to the tag/attribute in the first argument.
如果属性没有定义的名称空间前缀,则第一个参数必须为 null .您可以使用 setAttribute(),但是为了保持一致性,建议坚持使用 setAttributeNS().参见:
If an attribute does not have a defined namespace prefix, the first argument must be null. You could use setAttribute() but for consistency it is advisable to stick to setAttributeNS(). See:
https://developer.mozilla.org/en/docs/Web/SVG/Namespaces_Crash_Course#Scripting_in_namespaced_XML
这篇关于setAttribute和setAttributeNS(null,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!