Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 jQuery为图像标记创建了不正确的元素_Javascript_Jquery_Xml - Fatal编程技术网

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

Javascript jQuery为图像标记创建了不正确的元素,javascript,jquery,xml,Javascript,Jquery,Xml,我一直在使用jQuery创建HTML元素,然后将它们添加到XML文档中,如下所示: var doc = $($.parseXML('<?xml version="1.0" encoding="UTF-8"?><root/>')); var docRoot = doc.find("root"); var childEl = $("<child>"); docRoot.append(childEl); var imageEl = $("<image>"

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

var doc = $($.parseXML('<?xml version="1.0" encoding="UTF-8"?><root/>'));
var docRoot = doc.find("root");
var childEl = $("<child>");
docRoot.append(childEl);
var imageEl = $("<image>");
docRoot.append(imageEl);

var xmlString = doc.context.xml || 
                new XMLSerializer().serializeToString(doc.context);
$("#xml").text(xmlString);

image
img
的同义词
document.createElement('image')
实际上创建了一个
img
元素,就像我在中解释的那样

尽管如此,所有的希望都没有失去。将HTML/XML字符串传递给
jQuery
时,将解析元素的

因为您已经在第一步中创建了一个XML文档对象,所以我相信

var imageEl = $("<image />", doc[0]);

您是否尝试像var imageEl=$(“”)那样添加它@德里克:没有效果。问题似乎出在
createElement
上,而不是jQuery上。这一切都是正确的
image
是HTML中
img
的别名。尝试将所有者文档显式设置为XML文档:
var imageEl=$(“”,doc)
(我真的不知道这是否管用,不过这是我的猜测)。在Firefox中,它显示
图像
,但IE显示
img
。下面是最后一个解决了这两个问题的JSFIDLE:另外,
doc[0]
是不必要的。只需传递jQuery
doc
对象就足够了。@cdmckay:是的,但我希望它与第二个示例保持一致。
var el = document.createElement("image");
$("#output").append(el.tagName); // Outputs "IMG"
var imageEl = $("<image />", doc[0]);
var imgeEl = $(doc[0].createElement('image'));