我们许多非jquery的javaScript开发人员一直在使用domElement.setAttribute及其姐妹函数来为整个互联网永恒探索无数dom元素的方法。

就是CSS,DOM类名,可变数据的存储/检索等...

var b = document.getElementById("someDiv");
b.setAttribute("align", "center");

那么domElement.setAttributeNS变体的目的/实际用途是什么?这个问题是关于网络浏览器的显示/使用。而不是在XML上下文中。 setAttributeNS在其中有很多用途。
var d = document.getElementById("someDiv");
d.setAttributeNS("http://www.mozilla.org/ns/specialspace", "align", "center");

最佳答案

在HTML文档(即text/html解析器创建的文档对象)中,setAttributeNS的用途并不多。

但是,如果查看解析外部内容(即SVG和MathML)时需要HTML5解析器做什么,我们会发现this table: adjust foreign attributes

因此,它会自动移动某些属性并将其重命名为XLink,XML和XMLNS命名空间。当通过setAttribute和setAttributeNS之类的函数来操作DOM时,不会发生自动移动和重命名的情况,因此,要将属性放入正确的 namespace 中,需要使用setAttributeNS来创建和修改它们。
xlink:href可能是其中最常见的,可以通过setAttributeNS()进行设置

10-01 04:37