jquery html() - > TypeError:this [0] .innerHTML未定义

时间:2011-11-21 18:23:21

标签: jquery

我有一个元素:

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

节点类似于<content><item><target>Breadcrumbs</target></item> </content>。因此节点实际上是 xml 元素

我想剥离<content>节点,但保留其他所有节点。

我认为$(node).html()会起作用。但是我收到了一个错误。 为什么这不起作用?

2 个答案:

答案 0 :(得分: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 :(得分:0)

我遇到了与jquery完全相同的问题,即在尝试获取元素的html()时。原因是xml Element没有在IE中定义innerHTML。

我在这里找到了一个带有innerXHTML代码的临时解决方案:

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

它允许您将元素发送到名为innerXHTML的函数并返回有效的html。