2012-05-19 79 views
2

我有一个XML代码与XML表DOM对象,以HTML

<displayTable> 
<tr> 
<td> items </td> 
<..> 
</displayTable> 

其结构只是酷似HTML表格,但元素的名称是不同的。 然后我用jQuery parseXML,并获得一个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);    
+0

什么是您使用的代码。 '$ .parseXML' *不会返回一个jQuery对象。您可能需要执行'$($。parseXML(xml))'。 –

+0

你需要显示更多的代码。你用jQuery做什么?你在'console.log()'上看到了什么?你期望什么? –

+0

@Rocket是的,我已经做到了,谢谢您的好意 – user1404191

回答

2

你必须使用.children(),不.children。这是一个jQuery中的函数调用,而不是属性。此外,您可以将孩子传递给.html(),而不必将它们转换为字符串(我在尝试这样做时出错)。

就这样,它只是一个添加表行到<table>元素的事:http://jsfiddle.net/cRRAM/3/

+0

对不起,我可能会错过括号时复制和pasting.hahaha 但它仍然只生产中的文本,没有和​​标签。或者你的意思是我必须再次重现所有这些标签? – user1404191

+0

对不起,您是什么意思“重现表格的标签”?但是:我链接的代码也有错误,我正在修复,坚持。 – bfavaretto

+0

@ user1404191,好吧,试试编辑好的jsfiddle – bfavaretto