2011-11-21 80 views
1

我有一個元素:jQuery文檔() - >類型錯誤:這裏[0] .innerHTML未定義

var node = $(xml).find('target');

節點是一樣的東西<content><item><target>Breadcrumbs</target></item> </content>。所以節點實際上是一個XML元素

我想剝離<content>節點,但保持一切。

我以爲$(node).html()會工作。但我得到一個錯誤。 爲什麼不能這樣工作?

+4

什麼_exactly_是'node'? – SLaks

+0

它是我從做$(html).find('target'); – airnet

+0

您的代碼似乎可行 - http://jsfiddle.net/dvNPE/ –

回答

1

時加引號字符串這工作:

var node = "<content><item><target>Breadcrumbs</target></item> </content>"; 
alert($(node).html()); 

結果:

<item><target>Breadcrumbs</target></item> 

http://jsfiddle.net/hEtgH/

假設你的節點實際上被拉出的DOM,這將是類似。

<content id="blah"><item><target>Breadcrumbs</target></item> </content> 

然後:

alert($("#blah").html()); 

結果:

<item><target>Breadcrumbs</target></item> 

http://jsfiddle.net/YrLfu/

+1

不是真的回答,因爲你沒有改變任何東西。 :-) – Blazemonger

+0

我加了引號到字符串,假設這是缺少的。 – BNL

+0

好吧,但我怎麼把我的節點變成一個字符串,因爲該元素是一個DOM元素,而不是一個字符串 – airnet

0

我有jQuery和即完全相同的問題,試圖爲獲得HTML()的時候元件。原因是xml元素沒有在IE中定義innerHTML。

我發現這裏innerXHTML代碼的臨時解決方案:

http://www.stevetucker.co.uk/page-innerxhtml.php

它可以讓你的元素髮送到與名稱innerXHTML功能,並返回有效的HTML。