Internet Explorer jquery:包含问题

时间:2010-02-12 05:12:23

标签: javascript jquery internet-explorer

我正在尝试使用jQuery解析一个简单的xml文档。有谁知道为什么以下在Chrome和Firefox中正常工作但在Internet Explorer(7和8)中没有?

var selBunit = $("#bunit").val();
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team')

下面是xml的片段。所以基本上我正在尝试返回所选业务部门的所有“团队”元素(“bunit”)。

<bunit>
<bname>Unit 1</bname>
<teams>
    <team>
        <name>Team 1</name>
        <jobtitles>
            <jobtitle approval="false">Jobtitle 1</jobtitle>
        </jobtitles>
    </team>
    <team>
        <name>Team 2</name>
        <jobtitles>
            <jobtitle approval="false">Jobtitle 2</jobtitle>
        </jobtitles>
    </team>                         
</teams>
</bunit>

起初我试过

$(bunitXml).find('bunit bname:contains($("#bunit").val())').parent().find('team')

根本不起作用。经过一些谷歌搜索后,我尝试了以下内容:

var selBunit = $("#bunit").val();
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team')

可以在Chrome和Firefox中恢复所有团队元素,但在Internet Explorer中则不行。我无法理解它。我对jQuery很新,所以我可能会完全错误,所以任何建议都会受到赞赏。非常感谢

1 个答案:

答案 0 :(得分:0)

var selBunit = $("#bunit").val();
$(bunitXml).find('bunit bname:contains('+selBunit+')').parent().find('team')

如果我理解得很好,selBunit是一个字符串,所以你应该使用:

var selBunit = $("#bunit").val();
$(bunitXml).find("bunit bname:contains('"+selBunit+"')").parent().find('team')

 $(bunitXml).find("bname:contains('" +selBunit+ "')").find('team');