2011-01-31 38 views
1

以下代码返回所有主要浏览器(IE除外)中data变量中包含的所选元素的html。对变量的jQuery查询在IE中失败

$("#blapp", data).html(); 

有谁知道为什么?

解决方法是将data插入到DOM中,选择所需数据,然后删除临时数据。我想知道是否有人知道更好的解决方案?

+0

你为什么不发布你的'SELECTOR'是什么? – ThiefMaster 2011-01-31 23:31:40

+1

你可以发布`data`的内容吗?也许IE无法处理的一些无效标记? – user113716 2011-01-31 23:32:38

回答

0

我有一种直觉,data是一个完整的HTML文档。如果是这样,当试图将jQuery对象从其中取出时,浏览器之间会得到不同的结果。

如果是这样的话,试试这个来代替:

$('<div>' + data + '</div>').find('#blapp').html(); 

另一种选择是使用.find().filter(),而不是(这您是通过上下文参数现在做的)尝试。尽管这可能会导致它在某些浏览器中停止工作。

$(data).filter('#blapp').html();