jQuery find返回空字符串
jQuery find returns empty string
我正在做ajax POST,当它成功时,我想用成功的ajax中的div替换当前的div:
var dom;
var target;
$.ajax({
type: "POST",
url: "http://127.0.0.1/participants",
data: "action=addparticipant&userid=1",
success: function (html) {
dom = $.parseHTML(html);
target = $(dom).find("#listParticipants").val();
$('#listParticipants').html(target);
}
});
但target
似乎是空的…
,当我使用firebug调试时,dom
是:
[<TextNode textContent="'n'n">, <TextNode textContent="'n'n">,
div#listParticipants, <TextNode textContent="'n 'n 'n">,
<TextNode textContent="'n'n">, <TextNode textContent="'n'n">]
谁能帮我解决这个问题?对
您应该使用$.filter(),而不是$.find
target = $(dom).filter("#listParticipants").html()
正如Juan指出的,您需要的是innerHTML,而不是value。
需要使用filter的原因是您的控制台显示的是节点数组,而不是单个DOM元素。这意味着您需要过滤该集合。
$().val()
方法用于输入字段。见http://api.jquery.com/val/
也正如epascarello https://stackoverflow.com/a/25142313/227299指出的那样,您有一组节点,因此您需要$.filter
,而不是$.find
如果你想要innerHTML
,使用$(dom).filter("#listParticipants").html()
相关文章:
- PHP strtotime()为JavaScript日期字符串返回false
- 如何将表单数据传递给PHP并将json字符串返回给Javascript
- 解析JSON字符串返回未定义的结果
- Javascript:解析csv中的字符串返回NaN(不是数字)
- 使用$se.trustAsHtml呈现字符串返回未定义的结果
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 如何使用一些变量参数从javascript函数调用 asp.net C#函数并从C#函数获取字符串返回
- 函数:根据字符串中是否存在子字符串返回 True/False
- 如何使用 JavaScript 区分布尔值和字符串返回值
- 将 React 的方法 'return' 作为字符串返回
- 调用不带括号的函数会将整个函数作为字符串返回
- 如何在 ajax 调用中接受来自控制器的字符串返回
- Jquery - 匹配动态日期字符串返回使用长度的匹配量
- json_encode使用 jquery.get() 发布数据时将数组作为字符串返回
- 缓冲区中的nodejs解码字符串返回多行字符串
- 如何将关联数组键作为字符串返回
- python's mechanize和forms:javascript字符串返回
- 将呈现的ejs视图作为服务内的html字符串返回
- CSV文件作为单个字符串返回
- jQuery中的HTML字符串返回错误