相关疑难解决方法(0)

querySelectorAll和getElementsBy*方法返回什么?

getElementsByClassName(等类似的功能getElementsByTagNamequerySelectorAll)的工作方式相同getElementById,还是他们返回元素的数组?

我问的原因是因为我试图改变所有元素的样式getElementsByClassName.见下文.

//doesn't work
document.getElementsByClassName('myElement').style.size = '100px';

//works
document.getElementById('myIdElement').style.size = '100px';
Run Code Online (Sandbox Code Playgroud)

javascript dom-traversal getelementsbyclassname

125
推荐指数
8
解决办法
8万
查看次数

如何在javascript函数中使用getElementsByClassName?

我无法弄清楚如何在JavaScript中使用多个ID.单个ID和getElementById没问题,但是只要我将ID更改为类并尝试使用getElementsByClassName,该函数就会停止工作.我读过有关该主题的100篇帖子; 仍然没有找到答案,所以我希望有人知道如何使getElementsByClassName工作.

以下是我用于测试的一些简单代码:

function change(){
    document.getElementById('box_one').style.backgroundColor = "blue";
}

function change_boxes(){
    document.getElementsByClassName ('boxes').style.backgroundColor = "green";
}


<input name="" type="button" onClick="change(document.getElementById('box_one')); change_boxes(document.getElementsByClassName('boxes'))" value="Click" />   

<div id="box_one"></div>
<div class="boxes" ></div>
<div class="boxes" ></div>
Run Code Online (Sandbox Code Playgroud)

javascript dom

13
推荐指数
1
解决办法
8万
查看次数

通过类名更改 div 的 style.width

我一直在尝试使用 set.interval 动画更改 div 的宽度。它与 getELementByID 完美配合,但不适用于 getElementsByClassName。

代码如下:

var loadingBar = 200;

function animationBarOne(){
    document.getElementsByClassName("loading-bar").style.width=(loadingBar+"px");
    loadingBar++;
    if(loadingBar === 900){
         clearInterval(intervalId);
    }
}
var intervalId = setInterval(animationBarOne,1);
Run Code Online (Sandbox Code Playgroud)

我收到“无法设置未定义的属性宽度”。正如我所说,它与 ID 完美配合,但给我大约 10 个动画条,我宁愿使用类名,这样它更干净。

提前致谢。

javascript

4
推荐指数
1
解决办法
3万
查看次数