[英]document.getElementsByClassName('word')[0].click() works on h3 but doesn't work for div
[英]document.getElementsByClassName doesn't work
function getHeight(element) {
console.log(element);
var offsetHeight = document.getElementsByClassName(element).offsetHeight;
console.log(offsetHeight);
}
getHeight("card-1");
盡管僅使用document.getElementsByClassName(element)
即可將元素正確打印到控制台,但即使使用document.getElementsByClassName(element)[0].offsetHeight
也無法訪問offsetHeight屬性。
我需要運行循環嗎?
document.getElementsByClassName(element)
返回document.getElementsByClassName(element)
的HTMLCollection
。 集合沒有offsetHeight
屬性,集合中的每個元素都有。
現在,如果要獲取第一個匹配元素的offsetHeight
,則可以簡單地使用
document.getElementsByClassName(element)[0].offsetHeight
如果想要所有匹配元素的最大或最小offsetHeight
,則需要遍歷集合。
根據文檔https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName
document.getElementsByClassName(classNames)
返回html元素的集合(實際上是HTMLCollection的實例),因此,如果運行此代碼,它應該可以工作
var collection = document.getElementsByClassName(classNames),
offset = -1;
if (collection.length > 0) {
offset = collection[0].offsetHeight;
}
return offset;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.