Javascript dojo查询在IE7上不起作用,但在IE8和其他浏览器上起作用?

Javascript dojo查询在IE7上不起作用,但在IE8和其他浏览器上起作用?,javascript,dojo,Javascript,Dojo,dojo.query(“#foo#bar”)在FF、Safari、Chrome和IE8中按预期工作,在IE7中返回一个空列表 我实际上是在另一个id=foo的div中搜索id=bar的div 我是否在查询中遗漏了什么,或者这是IE7中的已知问题 谢谢 Jeff因为ID是唯一的,所以您不应该一次查询两个ID。因此,要么修改查询并使用单个ID,要么,如果需要具有相同“ID”的多个元素,则使用类 对于第二个选项,您可以将查询更改为dojo.query('.bar',dojo.byId('foo')),

dojo.query(“#foo#bar”)
在FF、Safari、Chrome和IE8中按预期工作,在IE7中返回一个空列表

我实际上是在另一个id=foo的div中搜索id=bar的div

我是否在查询中遗漏了什么,或者这是IE7中的已知问题

谢谢
Jeff

因为ID是唯一的,所以您不应该一次查询两个ID。因此,要么修改查询并使用单个ID,要么,如果需要具有相同“ID”的多个元素,则使用类


对于第二个选项,您可以将查询更改为
dojo.query('.bar',dojo.byId('foo'))
,它返回类为'bar'的元素,这些元素是id为'foo'的元素的子元素。

您的“id”值在页面上完全唯一吗?(他们应该是。)如果他们不是,那会引发奇怪。这是合法的用途。这可用于检测HTML中的#foo中是否包含#bar。在任何情况下,如果ID是唯一的,doj.Quy不应该给出不同的答案。这是一个很好的点,但是如果ID是/not /唯一的(在发送到浏览器的HTML中),GETelEnMyBid(和我假设dojo.ByID)只考虑具有给定ID的第一个节点。如果要检查id foo中是否存在id bar,最好使用
dojo.query('#bar',dojo.byId('foo'))假设一个相当大的DOM