有没有什么方法可以使用Dojo/query来获取具有特定数字的类名,而不是getElementsByClassName

ipakzgxi  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(143)

我想将document.getElementsByClassName更改为dojo.query或查询,但无法正常工作:

var name =  document.getElementsByClassName("dijitReset dijitInputInner")[1];

这个管用

var name  = dojo.query(".dijitReset dijitInputInner")[1];

这个不行

hs1ihplo

hs1ihplo1#

.query返回一个类似数组的NodeList,getElementsByClassName返回一个类似数组的HTMLCollection,问题不在于此,而在于您的选择器。

document.getElementsByClassName("dijitReset dijitInputInner")

将选择类为dijitResetdijitInputInner的元素。
dojo.query(".dijitReset dijitInputInner")
将选择 tag namedijitInputInner的元素,这些元素是类名包含dijitReset的元素的后代。
您需要将其更改为:
dojo.query(".dijitReset, .dijitInputInner")
带有逗号(指示新的选择符)和.(指示对类的搜索)。

相关问题