0

我正在尝试过滤掉一个 div 并获取该 div 的内容:

newData = $(data).filter($("#content")).html();

我不断收到 [object Object] 或 null。厌倦了尝试,所以是的。

我试图完成什么:

$.get('/load.php?url='+url, function(data,textStatus, xhr)
{
newdata = $(data).filter("#this").html();
$("#content").html(newdata);
}
4

4 回答 4

2

根据文档.filter()接受一个字符串,而不是一个选择器,所以使用:

newData = $(data).filter("#content").html();
于 2013-01-04T21:21:26.720 回答
0

你在尝试做类似的事情吗

<div id="foo">
    A quick brown fox
    <div id="bar">
        jumps over a lazy dog!
    </div>
</div>

和脚本

console.log($("#foo").clone().children().remove().end().text());

参考:http: //viralpatel.net/blogs/jquery-get-text-element-without-child-element/

于 2013-01-04T21:23:42.740 回答
0

仅当它是集合的顶级元素(兄弟)时才使用过滤器(除非您使用函数()过滤有特殊要求)。如果不是,您需要使用 .find() 来查找元素吨

newdata = $(data).find("#this").html();
于 2013-01-04T21:51:34.430 回答
0

这是您可以尝试的东西,但这将追加而不是替换,因此如果内容 div 已经为空,那么您可以使用它...

$(data).filter($("#this")).appendTo($('#content'));

或者你必须使用 replaceWith() 方法..

于 2013-01-04T21:51:40.870 回答