我用jQuery添加的对象没有显示?
我是jQuery新手,我正在尝试向现有div添加新元素 我的jQuery:我用jQuery添加的对象没有显示?,jquery,Jquery,我是jQuery新手,我正在尝试向现有div添加新元素 我的jQuery: function GetXML1Response(results) { $(results).filter("Child").each(function () { var newDiv = $("<div>").text("Value: " + $(this).attr("value")); $("#contentDiv").append(new
function GetXML1Response(results) {
$(results).filter("Child").each(function () {
var newDiv = $("<div>").text("Value: " + $(this).attr("value"));
$("#contentDiv").append(newDiv);
});
}
函数getxml1响应(结果){
$(结果)。筛选(“子”)。每个(函数(){
var newDiv=$(“”).text(“值:”+$(this.attr(“值”));
$(“#contentDiv”).append(newDiv);
});
}
我的HTML:
<div id="contentDiv">
<div>TEST 1</div>
</div>
测试1
如果我在调试器中查看它,它会按预期添加新的div,但它们不会出现,在下一次调用中,它们已经消失
感谢您的帮助
编辑:
我想我可能知道问题出在哪里。此函数作为对WebMethod的回调被触发。我怀疑它可能发生在不同的线程上,因此所做的更改将丢失?因为
子节点是嵌套的,所以应该使用该方法或该方法而不是该方法
或
您使用不正确,您需要:
函数getxml1响应(结果){
$(结果)。查找(“子”)。每个(函数(){
var newDiv=$(“”).text(“值:”+$(this.attr(“值”));
$(“#contentDiv”).append(newDiv);
});
}
当你递给
.filter
一个
并要求它过滤掉所有不是
的东西时,结果是一个空列表。如果你对.find
做同样的操作,那么你将给出.find
,你要求它提取它包含的所有
元素(这就是你想要的)。好吧,我想出来了。根本不是jQuery。我有一个HTML按钮,它会自动回发。当我加上
return false;
函数调用后,它按预期工作
谢谢大家的帮助。您能告诉我调试器报告的页面html是什么吗?请提供中的代码。请尝试以下操作:如果输入错误,很抱歉。.filter调用会返回节点,.find和.children方法不会返回节点。当我使用.filter方法时,它会正确地迭代子列表,并正确地添加新的div,但一旦函数退出,它们就会消失。好像有什么东西超出了范围。@Sako73:您的jsbin将它们显示为后代。不管怎样,是什么触发了代码?你在点击链接吗?是的,我想一定是链接。如果你发布代码的全貌,而不是看起来最窄的部分,这将非常有帮助o)
$(results).children("Child").each(... // searches only immediate descendants
function GetXML1Response(results) {
$(results).find("Child").each(function () {
var newDiv = $("<div>").text("Value: " + $(this).attr("value"));
$("#contentDiv").append(newDiv);
});
}
return false;