gpt4 book ai didi

javascript - JQuery AJAX HTML 查找不工作

转载 作者:太空宇宙 更新时间:2023-11-04 14:22:18 26 4
gpt4 key购买 nike

我在 SO 上阅读过类似的 Q/A,但这段简单的 JQuery AJAX 代码仍然让我抓狂 --

$.get($('#pager a').attr('href'), function(data) {
var data = $(data).wrap("<div />");
console.log(data);
console.log(data.find('.content'));
console.log(data.find('#next_page'));
}, "html");

AJAX 调用返回的 HTML 是 --

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<div class="content">lorum</div>
<div class="content">ipsum</div>
<div id="next_page">
<a href="/page/2"></a>
</div>
</body>
</html>

和控制台日志 --

[<TextNode textContent="\n\n \n \n ">, div.content, <TextNode textContent="\n ">, div.content, <TextNode textContent="\n ">, div#next_page, <TextNode textContent="\n \n">]
[ ]
[ ]

我一辈子都弄不明白为什么 data.find('.content') 和 data.find('#next_page') 什么都不匹配。

任何指针将不胜感激!

最佳答案

来自.wrap() [docs]文档:

This method returns the original set of elements for chaining purposes.

本例中的元素集都是body的子节点。 .find() 将搜索这些节点的后代,而不是节点本身。

要么使用.filter() [docs]或者创建一个空的 div 并将 data 设置为它的内容:

var data = $('<div />').html(data);

关于javascript - JQuery AJAX HTML 查找不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com