Javascript 从XML检索标记
我正在尝试使用jQuery检索包含Javascript 从XML检索标记,javascript,jquery,html,xml,Javascript,Jquery,Html,Xml,我正在尝试使用jQuery检索包含和信息的xml节点的内容。我遇到的问题是直接将其转换为html,保留相同的结构 XML: 后来: $('#answer').click(function(){ if(sentinal !== undefined){ $('#question').html( answers[sentinal] ); } }); 内容中包含的似乎只是1和
- 和
- 信息的xml节点的内容。我遇到的问题是直接将其转换为html,保留相同的结构
XML:
后来:
内容中包含的似乎只是1和2,没有任何$('#answer').click(function(){ if(sentinal !== undefined){ $('#question').html( answers[sentinal] ); } });
或
标记 有没有关于如何保持节点结构的想法?试试看
从一个文档(例如通过XHR接收的XML文档)中获取DOM子树,并在另一个文档(例如HTML文档)中创建结构副本// Isolate the XML. var xmlNode = $(this).find('node'); // Convert the XML structurally to HTML. // The (true) causes a deep copy. var htmlFromXml = document.importNode(xmlNode[0], true); // Append the resulting HTML to the DOM. $(htmlFromXml).appendTo($('#content'));
摘要 从可插入当前文档的外部文档创建节点副本document.importNode
您是否尝试过content=$(this).find('node').html()?尝试
。如果您想查看xml示例,为什么要让大家猜测这不是问题所在$('#content').append($(content))
返回包含元素的子级和文本节点的jQuery对象。我会按照布鲁诺的建议去做,并使用contents()
访问节点。编辑的代码与我正在使用的更接近。我尝试使用html()而不是contents()来提取xml,但由于某些原因,jquery.click停止工作。尝试了您的解决方案:Append没有我想要的行为。我尝试将其重新排列为$('#question').html(htmlFromXml);但是显示与以前完全相同。为什么html()
不起作用?也许或者就足够了。我希望div内容被完全删除,并替换为我提供给它的append
- 。@hyleaus,我不知道你指的是哪个div,但是如果
是它的选择器,那么theDiv
应该做你想做的事情。$(theDiv)。替换为(htmlFromXml)
$('#answer').click(function(){ if(sentinal !== undefined){ $('#question').html( answers[sentinal] ); } });
// Isolate the XML. var xmlNode = $(this).find('node'); // Convert the XML structurally to HTML. // The (true) causes a deep copy. var htmlFromXml = document.importNode(xmlNode[0], true); // Append the resulting HTML to the DOM. $(htmlFromXml).appendTo($('#content'));