我用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

我是jQuery新手,我正在尝试向现有div添加新元素

我的jQuery:

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;