我正在尝试使用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很新,所以我可能会完全错误,所以任何建议都会受到赞赏。非常感谢
答案 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');