jQuery XML重复追加

| 我是XML的新手。当我尝试在其XML父项(称为ITEM)中放入一些“例”时,它会填入所有的ITEMS,并复制某些内容。我有6个案例,但不知何故,其中一个项目显示12个案例。 我有一个看起来像这样的XML文件:
<menu>
<item>
    <headline />
    <body />
    <cases>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
        <case><link /></case>
    </cases>
</item>
<item>
    <headline />
    <body />
</item>
在其中没有任何案例的ITEM上,我不希望显示任何案例。我只希望将案例“放入”正确的ITEM。 我该怎么做呢? 要显示项目,我使用:
$(xml).find(\'item\').each(function(){
    var headline = $(\"headline\", this).text();
    $(\"ul\").append(\"<li class=\'\" + name + \"\'><h3>\" + headline + \"</h3>\");

    if ($(xml).find(\'case\').length != 0) {
        //I want it to place this, in the correct ITEM, and not in all items.
        $(\"ul li\").append(\"<ul class=\'cases\'>\");
        $(xml).find(\'case\').each(function(){
            caseLink = $(\"link\", this).text();
            $(\"ul li .cases\").append(\"<li><a href=\'\" + caseLink + \"\' /></a></li>\");

        });
        $(\"ul li\").append(\"</ul>\");
    }
    $(\"ul\").append(\"</li>\");
});
我究竟做错了什么??? 先感谢您...     
已邀请:
        那行:
if ($(xml).find(\'case\').length != 0) {
[...]
$(xml).find(\'case\').each(function(){
应该
if ((this).find(\'case\').length != 0) {
[...]
(this).find(\'case\').each(function(){
或类似的东西(我没有测试)。 现在,您在xml中进行搜索,在item元素上循环,然后在xml中而不是当前item元素中搜索case元素...。     
        问题是,我两次调用(XML)。 第二次(及之后)调用“如果(XML)\”,请改用“”(this)\”。 更改:
if ($(xml).find
至:
if ($(this).find
对我来说就做到了。     

要回复问题请先登录注册