【问题标题】:jQuery .find() in server response服务器响应中的 jQuery .find()
【发布时间】:2009-10-14 07:01:42
【问题描述】:

我试图在服务器响应中获取特定 div 中的文本。我使用 Firebug 来查看响应是什么,并且可以在返回的代码中看到我的元素,但由于某种原因,我可以让 jQuery 来捕获它。这是我正在使用的:

var response = $('<div />').html(serverData);
$('#uploadedFiles').html($(response).find("#created").text());
alert($(response).find("#created").text());

尝试不返回任何内容,而不是文本或任何内容。我这样做对吗?

注意:服务器响应不是来自 jQuery ajax 函数,而是来自 jQuery SWFUpload 插件,这有关系吗?

【问题讨论】:

标签: jquery find response


【解决方案1】:

什么时候运行代码?如果在创建uploadedFile 元素之前运行它,代码将找不到它。

我对此进行了测试,效果很好,它会提醒“asdf”,然后在 div 元素中将“test”替换为“asdf”:

<script type="text/javascript">

$(function(){
    var response = $('<div />').html('<div id="created">asdf</div>');
    alert(response.find("#created").text());
    $('#uploadedFiles').html(response.find("#created").text());
});

</script>

<div id="uploadedFiles">test</div>

注意response已经是一个jQuery对象,所以$(response)是多余的。

【讨论】:

  • 我在具有 serverData 参数的 uploadSuccess 函数中使用它。您的示例只是找到一些位置 ID,从 serverData 参数中获取它会有所不同吗?
  • 啊,我搞定了。我做了一些更多的测试,并且有一个完整的 html 文档把它搞砸了。我修复了我的脚本,只返回
    标记中的代码,它运行良好。谢谢。
  • @Nic:是的,如果您将任何复杂的html代码传递给$方法,它将通过将其分配给div元素的innerHTML来创建元素,因此您无法使用完整的html文档.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
相关资源
最近更新 更多