为什么会返回[object Object]
???我想将#new
内容返回到提醒状态。 (实际上我想将该文本附加到一个新div,如果解决了[object Object]
问题,我可以这样做)
<script type="text/javascript">
$(document).ready(function() {
$.post("post.php", {"test": "hello"}, function(data) {
var myDiv = $(data).filter("#new");
alert(myDiv);
});
});
</script>
答案 0 :(得分:3)
完美无缺。
alert
不显示对象的所有属性,这就是您要提醒的内容。
请尝试使用console
:
//info on the jQuery DOM obj:
console.log(myDiv);
//info on the jQuery obj:
console.dir(myDiv);
答案 1 :(得分:1)
因为myDiv是对象,你必须在其中访问html,
如果你想要html,请使用jquery的html()
函数,
如果你想要文本而不是html
text()
函数
myDiv.html();
$(document).ready(function() {
$.post("post.php", {"test": "hello"}, function(data) {
var myDiv = $(data).filter("#new");
alert(myDiv.html());
});
});
答案 2 :(得分:0)
我会猜测并说它运作得很好。如果您的myDiv
是一个DOM元素,那就是一个对象而alert
不知道如何打印它。永远不要依赖警报进行调试。尝试将其附加到DOM元素,它可能会正常工作。
答案 3 :(得分:0)
与许多jQuery方法一样,.filter()
返回一个jQuery对象,因此您当前的警报正确显示[object Object]
。
假设data
是一个html字符串,你可以通过这样做看到该html中#new
元素的内容:
var myDiv = $(data).filter("#new");
alert(myDiv.html());
// or
alert(myDiv.text());
// or put the text in a variable:
var newText = myDiv.html();
// or
var newText = $(data).filter("#new").html();
要附加到您的其他元素:
$("#someotherelement").append(myDiv.html());
答案 4 :(得分:0)
myDiv将包含一个jQuery对象,所以如果你想看到它的'内容,你应该使用
alert(myDiv.text());
或
alert(myDiv.html());
或
console.log(myDiv);