Javascript createElement(…)和CreateElements(';http://www.w3.org/1999/xhtml', ...)
我不理解createElement(…)和CreateElements(“”,…)之间的区别 您可以尝试以下代码:Javascript createElement(…)和CreateElements(';http://www.w3.org/1999/xhtml', ...),javascript,dom,browser,Javascript,Dom,Browser,我不理解createElement(…)和CreateElements(“”,…)之间的区别 您可以尝试以下代码: var element1=document.createElement('form:form'); var element2=document.createElements('http://www.w3.org/1999/xhtml","表格:表格",; console.log(element1.tagName);//表格:表格 console.log(element1.loca
var element1=document.createElement('form:form');
var element2=document.createElements('http://www.w3.org/1999/xhtml","表格:表格",;
console.log(element1.tagName);//表格:表格
console.log(element1.localName);//表格:表格
console.log(element2.tagName);//表格:表格
console.log(element2.localName);//表单
在createElement
和createElements
之间的区别在于,您可以在createElements
中指定命名空间URI,而createElement
不允许这样做
当需要从JS创建SVG时,可以使用createElements
。因为SVG需要名称空间URI。您可以从以下位置检查有效的名称空间:
如果您在HTML中创建元素,那么您可以使用
createElement
,因为其中不需要名称空间
,但是如果您在XHTML
中创建HTML,那么您需要使用createElements
,因为XHTML需要名称空间
。标记中的名称空间由namespace:element
语法(或namespace:attribute
)
DOM方法createElements
和setAttributeNS
不需要此语法来在给定的命名空间中创建元素,但由于标记语法允许,它们仍然会识别并忽略它
因此,当您对文档进行字符串化时,您可以
<html xmlns:form="http://www.w3.org/1999/xhtml">
<form:form></form>
</html>
而不是一些难懂的东西
<html xmlns:NS0="http://www.w3.org/1999/xhtml">
<NS0:form></form>
</html>
createElement
和setAttribute
方法将无法识别此语法,并且将真正创建一个
元素。HTML文档的namespaceURI是”http://www.w3.org/1999/xhtml“
因此在此上下文中createElements('http://www.w3.org/1999/xhtml“…
和createElement(…
应该是一样的。我想你错过了这里的问题。(提示:这是关于:
)