如何选择要应用转换(旋转等)的元素?

时间:2017-05-31 09:23:30

标签: javascript html css rotation

我正在尝试旋转或转换div中的所有元素,但我目前有这个功能。它会旋转页面上的所有元素。如何选择要旋转的div或类?Array.from(document.all).forEach(o => o.style.transform = "rotate(" + Math.floor(Math.random() * 27 - 12) + "deg)")

2 个答案:

答案 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')