我正在尝试获取服务器响应中特定 div 内的文本。我使用 Firebug 来查看响应是什么,并且我可以在返回的代码中看到我的元素,但由于某种原因我可以让 jQuery 捕获它。这是我正在使用的:
var response = $('<div />').html(serverData);
$('#uploadedFiles').html($(response).find("#created").text());
alert($(response).find("#created").text());
尝试只返回任何内容,而不是文本或任何内容。我这样做正确吗?
注意:服务器响应不是来自 jQuery ajax 函数,而是来自 jQuery SWFUpload 插件,但这有关系吗?
最佳答案
你什么时候运行代码?如果您在创建 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)
是多余的。
关于服务器响应中的 jQuery .find(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1564679/