Javascript 使用jQueryAjax获取另一个页面的列表元素
我试图通过jQuery的$.ajax请求(没有ID)加载另一个网页的特定部分 简单的例子 以下是HTML示例: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>
<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,但这也没有带来任何效果
Cheersfilter()
仅在目标选择器位于根级别时有效,否则需要使用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());