Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML中的名称空间是什么?_Javascript_Html - Fatal编程技术网

Javascript HTML中的名称空间是什么?

Javascript HTML中的名称空间是什么?,javascript,html,Javascript,Html,这很简单,我试图理解HTML中的名称空间 使用这两个命令的区别是什么。为什么要在createElement上使用createElement const a = document.createElementNS("http://www.w3.org/2000/svg", "svg") const b = document.createElement("svg") 资源: 名称空间使不同类型的XML有可能具有不同含义的相同标记。以

这很简单,我试图理解HTML中的名称空间

使用这两个命令的区别是什么。为什么要在
createElement
上使用
createElement

const a = document.createElementNS("http://www.w3.org/2000/svg", "svg")
const b = document.createElement("svg")
资源:


名称空间使不同类型的XML有可能具有不同含义的相同标记。以下是一段摘录:

W3C的一个长期目标是使不同类型的基于XML的内容能够在同一个XML文件中混合在一起。例如,SVG和MathML可以直接合并到基于XHTML的科学文档中。能够像这样混合内容类型有很多优点,但也需要解决一个非常现实的问题

当然,每个XML方言都定义了其规范中描述的标记元素名称的含义。在单个XML文档中混合来自不同XML方言的内容的问题在于,一种方言定义的元素可能与另一种方言定义的元素具有相同的名称。例如,XHTML和SVG都有一个元素。用户代理应该如何区分这两者?事实上,用户代理如何判断XML内容是它所知道的,而不仅仅是一个包含它所不知道的任意元素名称的无意义XML文件

在您的特定示例中,区别在于
createElement(“svg”)
创建了一个带有标记名
svg
HTML元素(不存在,没有带有该标记名的HTML元素)。但是
createElements(“http://www.w3.org/2000/svg“,“svg”)
创建一个标签名为
svg
(确实存在)的svg元素

这很重要,因为SVG元素定义了行为和各种方法,以及您可能需要的方法。尝试将其创建为HTML元素时,无法获得以下行为和方法:

const a=document.createElements(“http://www.w3.org/2000/svg“,“svg”);
const b=document.createElement(“svg”);
log(“SVGSVGElement的实例?”,SVGSVGElement的实例);//SVGSVGElement的实例?真的
console.log(“b instanceof SVGSVGElement?”,b instanceof SVGSVGElement);//SVGSVGElement的实例?假的
console.log(“a.currentScale的类型:,a.currentScale的类型);//a.currentScale的类型:数字
console.log(“b.currentScale的类型:,b.currentScale的类型);//b.currentScale的类型:未定义