XML的DOM对象,到HTML
Posted
技术标签:
【中文标题】XML的DOM对象,到HTML【英文标题】:DOM object of XML, to HTML 【发布时间】:2012-05-26 13:09:42 【问题描述】:我有一个带有 XML 表的 XML 代码
<displayTable>
<tr>
<td> items </td>
<..>
</displayTable>
它的结构与 html 中的表格完全相同,但元素的名称不同。
然后我用 jQuery 解析 XML,并得到一个 DOM 对象。但是现在,当我尝试获取表格的 html 元素时,使用 .text()
和 .html()
时没有得到 HTML 表格(没有错误,我得到标签内的项目)...任何人知道为什么?
编辑:很抱歉造成混乱。 所以它类似于这个js。我想要来自 XML 的 HTML 代码。所以只有A... 在 &&& 行,它产生“未捕获的类型错误:无法调用未定义的方法‘替换’”错误 var str = "A";
$('#code-analysis').html(str);
console.log(str);
// parse string of XML code
var xmlString = str;
var xml = $.parseXML( xmlString );
$xml = $( xml );
// print to table in console
var displayTable = $xml.find( 'displayTable' ).children;
console.log ( displayTable );
// print table.text() to console,
// but not in the HTML format
// just the text within the element
var displayTableText = displayTable.text();
console.log ( displayTableText ); // A
// print table.html() to console
var displayTableHTML = displayTable.html(); // &&&
console.log ( displayTableHTML );
【问题讨论】:
您使用的代码是什么。$.parseXML
不 返回一个 jQuery 对象。你可能需要做$($.parseXML(xml))
。
您需要显示更多代码。你用 jQuery 做什么?你在console.log()
上看到了什么?你有什么期待?
@Rocket 是的,我已经这样做了,谢谢
@Pavel Veller 查看编辑 xD
【参考方案1】:
您必须使用.children()
,而不是.children
。它是 jQuery 中的函数调用,而不是属性。此外,您可以将孩子传递给.html()
,而无需将它们转换为字符串(尝试这样做时出错了)。
这样,只需将表格行添加到<table>
元素:http://jsfiddle.net/cRRAM/3/
【讨论】:
对不起,我可能在复制和粘贴时错过了括号。哈哈哈但它仍然只生成文本,没有.html()
不适用于 XML 文档(请参阅 api.jquery.com/html)。
以上是关于XML的DOM对象,到HTML的主要内容,如果未能解决你的问题,请参考以下文章