【发布时间】:2012-03-05 15:30:17
【问题描述】:
好的。我有点像菜鸟……但不是那种菜鸟。 :)
我希望在 jQuery 中完成一个 find(),它具有与点符号或“&&”类似的结果。这是一个示例(不起作用):
data.find("continent_country[id = 'us'].state[id = 'in']").each(function(){
// what to do
}
或
data.find("continent_country[id = 'us'] && state[id = 'in']").each(function(){
// what to do
}
有人告诉我尝试使用逗号,如下所示:
data.find("continent_country[id = 'us'], state[id = 'in']").each(function(){
// what to do
}
...但是返回错误的项目。
我的 XML 如下所示:
<continent_country id="us" name="U.S.">
<state id="al" name="Alabama">
<city url="" name="auburn"/>
<city url="" name="birmingham"/>
<city url="" name="dothan"/>
<city url="" name="florence / muscle shoals"/>
<city url="" name="gadsden-anniston"/>
<city url="" name="huntsville / decatur"/>
<city url="" name="mobile"/>
<city url="" name="montgomery"/>
<city url="" name="tuscaloosa"/>
</state>
<state>//more states</states>
</continent_country>
</continent_country id="eu" name="Europe">
<state>//more states</states>
</continent_country>
一些州/省/国家共享相同的id,这就是为什么我想在指定的continent_country 中找到一个州。
提前谢谢...
【问题讨论】:
-
你有没有想过分开选择?就像首先你得到了我们所有的大陆国家,然后从那个选择中你再次过滤掉所有的东西?
-
我最初是这样做的,但需要“单线解决方案”。子选择器“>”工作得很好。
标签: jquery xml jquery-selectors