Javascript 使用jQueryAjax获取另一个页面的列表元素

Javascript 使用jQueryAjax获取另一个页面的列表元素,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图通过jQuery的$.ajax请求(没有ID)加载另一个网页的特定部分 简单的例子 以下是HTML示例: <div id="list"> <ul> <li>Foo 6</li> <li>Foo 7</li> <li>Foo 8</li> <li>Foo 9</li> <li>

我试图通过jQuery的$.ajax请求(没有ID)加载另一个网页的特定部分

简单的例子

以下是HTML示例:

<div id="list">
    <ul>
        <li>Foo 6</li>
        <li>Foo 7</li>
        <li>Foo 8</li>
        <li>Foo 9</li>
        <li>Foo 10</li>
    </ul>
</div>
但是,我想将ul作为#list中的目标,但是如果我将过滤器更改为#list ul,则没有任何效果。这快把我逼疯了。如何针对该元素?我试着用find代替filter,但这也没有带来任何效果

Cheers

filter()
仅在目标选择器位于根级别时有效,否则需要使用
find()

或者,跟随也会起作用,但似乎没有那么有效

$('#list ul').append($(data).filter('#list').children('ul').html());
更新小提琴:

另一个答案的第一部分也是正确的,您必须使用find递归遍历元素子元素,这将通过ID找到您的div,然后允许您仅在该div中找到ul元素

第二部分使用.filter和.children似乎不起作用


希望这有帮助

什么都不起作用
意味着什么?你能看到任何错误吗?我想这意味着过滤器坏了。这不是DOM节点的
.filter()
函数吗?您的数据是用jQuery对象包装的
字符串,不是吗?您的数据是怎么来的。在
li
?试试我的小提琴,你的第二个解决方案似乎不起作用。我从未真正使用过过滤器,所以可能我遗漏了一些小东西?
 $('#list ul').append($(data).find('#list ul').html());
$('#list ul').append($(data).filter('#list').children('ul').html());
<div id="container">
    <div>
        <div id="list">
            <ul>
                <li>Foo 6</li>
                <li>Foo 7</li>
                <li>Foo 8</li>
                <li>Foo 9</li>
                <li>Foo 10</li>
            </ul>
        </div>
    </div>
</div>
<div id="list2">
    <ul></ul>
</div>
var data = $('#container').html();

$('#list2 ul').append($(data).find('#list ul').html());

//Doesn't work
//$('#list2 ul').append($(data).filter('#list').children('ul').html());