我想将document.getElementsByClassName更改为dojo.query或查询,但无法正常工作:
var name = document.getElementsByClassName("dijitReset dijitInputInner")[1];
这个管用
var name = dojo.query(".dijitReset dijitInputInner")[1];
这个不行
hs1ihplo1#
.query返回一个类似数组的NodeList,getElementsByClassName返回一个类似数组的HTMLCollection,问题不在于此,而在于您的选择器。
.query
getElementsByClassName
document.getElementsByClassName("dijitReset dijitInputInner")
将选择类为dijitReset或dijitInputInner的元素。dojo.query(".dijitReset dijitInputInner")将选择 tag name 为dijitInputInner的元素,这些元素是类名包含dijitReset的元素的后代。您需要将其更改为:dojo.query(".dijitReset, .dijitInputInner")带有逗号(指示新的选择符)和.(指示对类的搜索)。
dijitReset
dijitInputInner
dojo.query(".dijitReset dijitInputInner")
dojo.query(".dijitReset, .dijitInputInner")
.
1条答案
按热度按时间hs1ihplo1#
.query
返回一个类似数组的NodeList,getElementsByClassName
返回一个类似数组的HTMLCollection,问题不在于此,而在于您的选择器。将选择类为
dijitReset
或dijitInputInner
的元素。dojo.query(".dijitReset dijitInputInner")
将选择 tag name 为
dijitInputInner
的元素,这些元素是类名包含dijitReset
的元素的后代。您需要将其更改为:
dojo.query(".dijitReset, .dijitInputInner")
带有逗号(指示新的选择符)和
.
(指示对类的搜索)。