jQuery .find() on data from .ajax() call is returning quot;[object Object]quot; instead of div(来自 .ajax() 调用的数据的 jQuery .find() 正在返回“[object Object].而不是 div)
问题描述
试图在 .ajax()
使用 .find()代码>.不幸的是,
alert(result)
不返回 div#result
.
这是我的代码:
$.ajax({网址:网址,缓存:假,成功:功能(响应){结果 = $(response).find("#result");警报(响应);//按预期工作(返回所有 html)警报(结果);//返回 [object 对象]}});
具体回答您的问题,它似乎工作正常.您说它返回 [object Object]
,这就是 jQuery 使用 find("#result")
方法返回的内容.它返回一个匹配 find
查询的 jQuery 元素.
尝试获取该对象的属性,例如 result.attr("id")
- 它应该返回 result
.
一般来说,这个答案取决于 #result
是否是顶级元素.
如果#result
是顶级元素,
<div id="结果"><span>文本</span></div><div id="其他顶级元素"></div>
find()
将不起作用.相反,使用 filter()
:
var $result = $(response).filter('#result');
如果#result
不是顶级元素,
<div id="结果"><span>文本</span></div></div>find()
会起作用:
var $result = $(response).find('#result');
Trying to find div
element with id="result"
in returned data from .ajax()
using .find()
. Unfortunately, alert(result)
doesn't return div#result
.
Here is my code:
$.ajax({
url: url,
cache: false,
success: function(response) {
result = $(response).find("#result");
alert(response); // works as expected (returns all html)
alert(result); // returns [object Object]
}
});
解决方案 To answer your question specifically, it seems to be working correctly. You said that it returns [object Object]
, which is what jQuery will return with the find("#result")
method. It returns a jQuery element that matches the find
query.
Try getting an attribute of that object, like result.attr("id")
- it should return result
.
In general, this answer depends on whether or not #result
is the top level element.
If #result
is the top level element,
<!-- #result as top level element -->
<div id="result">
<span>Text</span>
</div>
<div id="other-top-level-element"></div>
find()
will not work. Instead, use filter()
:
var $result = $(response).filter('#result');
If #result
is not the top level element,
<!-- #result not as top level element -->
<div>
<div id="result">
<span>Text</span>
</div>
</div>
find()
will work:
var $result = $(response).find('#result');
这篇关于来自 .ajax() 调用的数据的 jQuery .find() 正在返回“[object Object]".而不是 div的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:来自 .ajax() 调用的数据的 jQuery .find() 正在返回“[object Object]".而不是 div
基础教程推荐
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 直接将值设置为滑块 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01