【发布时间】:2011-12-31 16:10:15
【问题描述】:
这两者之间的真正区别是什么?我的意思是真正的、本质的区别。
普通createElement的未来会怎样?
Svg 是 xml,而不是 html。我明白了。所以我们使用createElementNS(ns_string, 'svg')
然后setAttributeNS(null,,)。为什么?
为什么不setAttributeNS('my_ns',,)?
为什么ns_string 必须是http://www.w3.org/2000/svg 而不是一些随机字符串?如果只有一个命名空间,命名空间的用途是什么?
ns 在常规 html 中的用途是什么?我是否应该在现有代码中将所有createElement 实例更改为createElementNS?
我正在阅读DOM-Level-2 规范。但我还是很疑惑。
【问题讨论】:
-
如果 SVG 也有一个,比如说,
a元素,为什么我们会假设它与熟悉的具有相同标签名称的 HTML 锚元素具有相同的作用?也许,在 SVG 中,它会完全指代其他东西,更适合 SVG 的本质?那么您需要做的就是问问自己——如果您在脚本中使用document.createElement("a"),您会得到哪个a元素?看,没有命名空间,元素的名称完全是模棱两可的。
标签: javascript html dom namespaces