日期:2014-05-16  浏览次数:20679 次

使用jQuery的filter()从ajax动态取数据时出现问题

问题:使用jquery的filter在Firefox里过滤元素时出错原因:

var stext = $(data).filter('#content').html();

data是通过ajax取回的内容,我想进行筛选,只要取回内容里的ID为content的部分。
这样的写法在IE里一切正常,不知道为什么在Firefox里就不行,用Firebug来进行查找错误,提示是jquery-1.2.1.js里第1521行的“f = eval('false||function(a,i){return ' + f + '}');”这段有问题。

?

用filter进行元素筛选的时候,固定的数据(如,var data = "<p>第一段</p><p id='second'>第二段</p>";)进行筛选,这种没有关系,但用AJAX取回动态数据进行筛选的时候,必须同时指定标签类型和ID,才能正常进行筛选,要不然在Firefox下会出错。
错误的:var stext = $(data).filter('#content').html();
正确的:var stext = $(data).filter('div#content').html();