Javascript-如何获取所有元素并对每个元素执行相同的操作
Javascript - How to get all elements and do same thing on each of them
我想在div(id=room)中获得所有div,并对每个div执行相同的javascript代码。
我认为它应该像这个
通过id room获取元素->将所有div放在里面->对它们做点什么(将每个类更改为"grass")
或者通过使用循环。
如何做到这一点?
请不要使用jQuery
现代浏览器(IE9+):
var divs = document.querySelectorAll('#room div');
[].forEach.call(divs, function(div){
div.className = 'green';
});
var a = document.getElementById("room").getElementsByTagName("div");
for(i = 0; i < a.length; i++)
{
a[i].className = "grass";
}
您想让所有div都在里面,还是直接子级?
这个穿越直系子女。如果你想遍历所有内部节点,你需要递归它。
function grassify(nodeId) {
var node = document.getElementById(nodeId);
for(var i in node.childNodes) {
// Do things with node.childNodes[i], for example:
node.childNodes[i].className = 'grass';
}
}
然后只是:
grassify('room');
var room=document.getElementByID("#room");
var divs=room.getElementsByTagName("div");
for(var i=0;i<divs.length;i++){
doSomething(divs[i]);
}
使用getElementByID和getElementsByTagName
使用getElementsByTagName
首先获取对容器元素的引用,然后使用getElementsByTagName作为所需元素的类型。
请参阅http://jsfiddle.net/aQtTx/
JS:
var targetDiv = document.getElementById("div1");
var nestedDivs = document.getElementsByTagName("div");
for(var divIndex = 0; divIndex < nestedDivs.length; divIndex++)
{
nestedDivs[divIndex].style.backgroundColor = 'red';
}
function myFunction()
{
var a=document.getElementById('room').childNodes;
for (i=0; i<a.length; i++)
{
a[i].className="grass";
};
}
Js出价
var parent = document.getElementById("room");
var divs = parent.getElementsByTagName('div');
for (i=0; i<divs.length; i++)
{
divs[i].className="grass";
};
相关文章:
- 使用html 5对元素执行自定义表单验证功能
- 对未知数量的元素执行Jquery循环
- jQuery没有为具有新id的新元素执行代码
- Javascript - 在创建时对数组元素执行操作
- jQuery :对页面上的每个元素执行相同的操作
- 单击对内部元素执行某些操作
- 循环遍历 json 子对象并对每个“元素”执行某些操作
- Javascript 数组映射“出现”以对缺少的元素执行回调
- 无法对动态创建的 html 元素执行单击事件
- 使用 IF 运算符对给定数组中的字母数字和非字母数字元素执行不同的操作
- 为每个包含类的元素执行 jQuery 函数
- 对多个元素执行回调函数
- 即使在类名上触发了click事件,也要对特定元素执行某些操作
- SharePoint<按钮>元素执行页面的不需要的重新加载
- 无法对五个画布元素执行相同的效果
- 如何基于URL对聚合物元素执行select()方法
- 浏览器是否对屏幕元素执行相应的Javascript选择
- 侦听.on()中的shift键,然后使用附加侦听器的元素执行一个函数
- 如何使用JavaScript延迟为数组中的每个元素执行的函数
- 如何使某个javascript函数在页面加载时对其所有元素执行