我正在尝试旋转或转换div中的所有元素,但我目前有这个功能。它会旋转页面上的所有元素。如何选择要旋转的div或类?Array.from(document.all).forEach(o => o.style.transform = "rotate(" + Math.floor(Math.random() * 27 - 12) + "deg)")
答案 0 :(得分:0)
您需要使用document.getElementsByClassName()
或document.getElementsByTagName()
:
var selected = document.getElementsByClassName('myClass');
Array.from(selected).forEach(o => o.style.transform = "rotate(" + Math.floor(Math.random() * 27 - 12) + "deg)")
答案 1 :(得分:0)
function randomRotate(selector) {
var elem = document.querySelector(selector);
if (!elem) return;
elem.style.transform = "rotate(" + Math.floor(Math.random() * 27 - 12) + "deg)"
}
randomRotate('.someClass');
基本上它与你的代码相同,但它不是采用所有元素,而是寻找特定的via选择器。如果有多个具有此类的元素,则仅对其中第一个元素应用旋转。
因此,如果要将旋转应用于具有该类的所有对象,则应使用另一个函数:
function randomRotate(selector) {
var elems = document.querySelectorAll(selector);
if (elems.length === 0) return;
elems.forEach(function(el){
el.style.transform = "rotate(" + Math.floor(Math.random() * 27 - 12) + "deg)"
})
}
randomRotate('.someClass')