jQuery CSS到纯Javascript

ped*_*nez 1 javascript jquery

我试图尽可能少地使用jQuery,我想将一些jQuery代码翻译成纯JS.

我有这个:

$(".myDiv").css({"width": 500});
Run Code Online (Sandbox Code Playgroud)

什么是上面代码的纯JS等价物?

Har*_*ish 6

var els = document.querySelectorAll('.myDiv');

// If you want to get elements using its class name
// var els = document.getElementsByClassName('myDiv');

for(var i = 0, length = els.length; i < length; i++) {
   els[i].style.width = '500px';
}
Run Code Online (Sandbox Code Playgroud)

使用forEach:

var els = document.querySelectorAll('.myDiv');

els.forEach(function(el, ind) {
  el.style.width = '500px';
});
Run Code Online (Sandbox Code Playgroud)

JS小提琴

  • 你的`for`循环应该是`for(var i = 0,length = els.length; i <length; i ++)`.它比一直访问`length`属性更快. (2认同)
  • @IsmaelMiguel这样的微优化很少有用 - 在这种情况下,for循环的主体很可能导致页面的重排,它会使在for循环中花费的时间相形见绌.通常最好坚持使用最易读的内容,直到遇到可测量的问题为止. (2认同)