2012-05-19 122 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