querySelectorAll和getElementsBy *方法返回什么?
DO
getElementsByClassName
(等类似的功能getElementsByTagName
和querySelectorAll
)的工作一样getElementById
,还是他们返回元素的数组?
我问的原因是因为我试图使用更改所有元素的样式getElementsByClassName
。见下文。
//doesn't workdocument.getElementsByClassName('myElement').style.size = '100px';
//works
document.getElementById('myIdElement').style.size = '100px';
回答:
您的getElementById()
代码可以正常工作,因为ID必须是唯一的,因此该函数始终仅返回一个元素(或者null
如果找不到元素)。
然而,getElementsByClassName()
,querySelectorAll()
,和其他getElementsBy*
方法返回元件的阵列状的集合。像使用真实数组那样对其进行迭代:
var elems = document.getElementsByClassName('myElement');for(var i = 0; i < elems.length; i++) {
elems[i].style.size = '100px';
}
如果您喜欢较短的内容,请考虑使用jQuery:
$('.myElement').css('size', '100px');
以上是 querySelectorAll和getElementsBy *方法返回什么? 的全部内容, 来源链接: utcz.com/qa/408977.html