Javascript 如何让getElementsByClassName以所有标记的元素为目标-有更好的替代方案吗?

Javascript 如何让getElementsByClassName以所有标记的元素为目标-有更好的替代方案吗?,javascript,class,element,getelementbyid,getelementsbyclassname,Javascript,Class,Element,Getelementbyid,Getelementsbyclassname,很抱歉,我想这个问题的答案已经发布了,但我已经看过了,我正在努力应用它 我使用的是RobG()发布的FitText非库选项。这很好,但是我想把它应用到很多元素上,而不仅仅是一个。我正在拼凑如何替换getElementById window.onload = function() { function doResize() {resize(document.getElementById('d0'), 5);} window.onresize = doResize; doResize()

很抱歉,我想这个问题的答案已经发布了,但我已经看过了,我正在努力应用它

我使用的是RobG()发布的FitText非库选项。这很好,但是我想把它应用到很多元素上,而不仅仅是一个。我正在拼凑如何替换getElementById

window.onload = function() {
  function doResize() {resize(document.getElementById('d0'), 5);}
  window.onresize = doResize;
  doResize();
}
()

。。。使用getElementsByClassName

window.onload = function() {
  function doResize() {resize(document.getElementsByClassName('d0')[0], 5);}
  window.onresize = doResize;
  doResize();
}
()

。。。但我不知道如何将所有标记了该类的元素作为目标,而不仅仅是特定的元素。我想知道是否有一种替代方法可以在早期的MSIE中使用——一种不使用类名而通过该类获取所有信息的方法


我真的很抱歉不知道这件事。这很明显,但我不知道从哪里开始。。。谢谢您的浏览。

您只需循环浏览它们:

function doResize() {
    var qsa = document.querySelectorAll(".d0"), l = qsa.length, i;
    for( i=0; i<l; i++) resize(qsa[i],5);
}
函数doResize(){
var qsa=document.queryselectoral(“.d0”),l=qsa.length,i;

对于(i=0;i您所要做的就是通过它们循环:

function doResize() {
    var qsa = document.querySelectorAll(".d0"), l = qsa.length, i;
    for( i=0; i<l; i++) resize(qsa[i],5);
}
函数doResize(){
var qsa=document.queryselectoral(“.d0”),l=qsa.length,i;

对于(i=0;我肯定我会对此感到兴奋,但我建议只使用jQuery和它的类选择器,它只是
$('.class'))
。我不会对你发火的-我很感谢你的关注!但我正试图找到一种替代方法来使用库…谢谢你的建议。@BradM这是一个不错的建议。虽然这似乎是一个简单的示例,但它肯定会对事件处理程序(OP正在使用)以及DOM查询(OP正在使用)有所帮助。OP似乎对这一切的工作原理有一个大致的了解,因此使用jQuery将其提升到下一个层次肯定会有所帮助。问题是,为什么您要尝试找到一种替代使用库的方法?见鬼,您本质上只是“剪切和粘贴”不管怎样,还是要从jQuery中编写代码。是的,加载页面需要几毫秒,但好处太好了。我肯定我会为此感到兴奋,但我建议只使用jQuery和它的类选择器,这只是
$('.class'))
。我不会对你发火的-我很感谢你的关注!但我正试图找到一种替代方法来使用库…谢谢你的建议。@BradM这是一个不错的建议。虽然这似乎是一个简单的示例,但它肯定会对事件处理程序(OP正在使用)以及DOM查询(OP正在使用)有所帮助。OP似乎对这一切的工作原理有一个大致的了解,因此使用jQuery将其提升到下一个层次肯定会有所帮助。问题是,为什么您要尝试找到一种替代使用库的方法?见鬼,您本质上只是“剪切和粘贴”不管怎样,jQuery中的代码。是的,你的页面加载需要几毫秒,但好处是难以置信的好。我不想考验你的耐心-但是你能帮我使用getElementsByName吗?我可以在div或文本体上使用它吗?你可以在任何元素上使用它,就像
getElementsByClassName
,只需一个不同的属性。就像
。也就是说,我建议不要使用它,因为
name
属性通常是为表单元素保留的,并且您不应该仍然支持IE7。谢谢!这是一个很好的观点。我会使用您的解决方案-我真的很感激!我不想尝试您的耐心-但是您能帮助我使用它吗getElementsByName?我可以在div或文本体上使用它吗?你可以在任何元素上使用它,就像
getElementsByClassName
,只是有一个不同的属性。就像
。也就是说,我建议不要使用它,因为
name
属性通常是为表单元素保留的,你不应该仍然支持IE7.谢谢!这是一个很好的观点。我会使用你的解决方案-我真的很感激!