javascript – jQuery为图像标记创建了不正确的元素

前端之家收集整理的这篇文章主要介绍了javascript – jQuery为图像标记创建了不正确的元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直在使用jQuery创建HTML元素,然后将它们添加XML文档中,如下所示:

var doc = $($.parseXML('

这是输出(在Chrome 24上):

Here’s the JSFiddle link.不幸的是,我有两个问题.

>当我尝试创建一个名为child的元素时,它正确地创建了一个带有tagName子元素的元素.但是,如果我使用名称图像,由于某种原因,jQuery认为我想制作一个img元素.如何阻止jQuery这样做?
>所有子元素都会自动添加属性xmlns =“http://www.w3.org/1999/xhtml”,即使我生成的文档不是XHTML文档.我如何阻止这种情况发生?

更新:

图像tagName问题似乎是DOM的问题,而不是jQuery,正如this code所示:

var el = document.createElement("image");
$("#output").append(el.tagName); // Outputs "IMG"
最佳答案
image是img的同义词. document.createElement(‘image’)实际上创建了一个img元素,就像我在this question中解释的那样.

尽管如此,所有希望都不会丢失.将HTML / XML字符串传递给jQuery时,要解析的元素为the second argument is the owner document.

由于您已经在第一步中创建了一个XML文档对象,我相信这一点

var imageEl = $("

将使用XML文档的createElement方法并创建正确的元素.

注意:在内部,jQuery uses jQuery.parseHTML when passed such a string,所以此方法可能并不总是有效.看起来虽然jQuery一直使用传入的文档(context).它应该适用于单个标签.

更安全(也许更容易?)可能只是使用:

var imgeEl = $(doc[0].createElement('image'));

猜你在找的jQuery相关文章