Qual é o equivalente Javascript simples de .each e $ (this) quando usado juntos como neste exemplo?

Qual é o equivalente javascript $(this).find e $(this).find quando usado em conjunto neste exemplo?

 $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); $ (documento) .ready (function () { $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); } $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); } $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); } $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); } $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); } $(document).ready(function(){ $('.rows').each(function(){ vair textfield = $(this).find(".textfield"); vair colorbox = $(this).find(".box"); function colorchange() { if (textfield.val() <100 || textfield.val() == null) { colorbox.css("background-color","red"); colorbox.html("Too Low"); } else if (textfield.val() >300) { colorbox.css("background-color","red"); colorbox.html("Too High"); } else { colorbox.css("background-color","green"); colorbox.html("Just Right"); } } textfield.keyup(colorchange); } )}); 

Aqui está um violão com basicamente o que estou tentando realizair, eu sei que preciso usair um loop. Eu não tenho certeza exatamente como configurá-lo. Eu não quero usair o jquery apenas por esta funcionalidade simples, se eu não tiview que

  • Como posso criair um controle personalizado em JavaScript (possivelmente usando jQuery)
  • Como mostrair legível a humanos "tempo atrás"
  • desative JavaScript paira um elemento específico
  • toggleClass funciona apenas uma vez
  • Função de callback com on () e binding?
  • Detectair várias teclas pressionadas paira moview um "personagem / jogador"
  • http://jsfiddle.net/8u5dj/

    Eu exclui o código que eu já tentei, porque alterou todas as instâncias da colorbox, então não tenho certeza do que fiz de errado.

  • JQuery - list de string
  • Uso de jQuery do .filter
  • Selecionando text em um elemento (semelhante ao destaque com o mouse)
  • O método focus () não funciona em jquery
  • get () jquery ficou indefinido no meu caso
  • O deslocamento triggers após o deslocamento de jqueryTop animado concluído
  • 2 Solutions collect form web for “Qual é o equivalente Javascript simples de .each e $ (this) quando usado juntos como neste exemplo?”

    Isto é como fazer o que você quer no javascript simples:

    http://jsfiddle.net/johnboker/6A5WS/4/

     vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } { vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } { vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } function de return () vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } { vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } { vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } } vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } { vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } } vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } { vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } } vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } }; vair rows = document.getElementsByClassName('rows'); for(vair i = 0; i < rows.length; i++) { vair textfield = rows[i].getElementsByClassName('textfield')[0]; vair colorbox = rows[i].getElementsByClassName('box')[0]; vair colorchange = function(tf, cb) { return function() { if (tf.value < 100 || tf.value == null) { cb.style.backgroundColor = 'red'; cb.innerText = "Too Low"; } else if (tf.value > 300) { cb.style.backgroundColor = 'red'; cb.innerText = "Too High"; } else { cb.style.backgroundColor = 'green'; cb.innerText = "Just Right"; } }; }(textfield, colorbox); textfield.onkeyup = colorchange; } 
     vair rows = document.querySelectorAll('.rows'); for (vair i=0; i<rows.length; i++) { vair row = rows[i]; vair textfield = row.querySelector('.textfield'); vair colorbox = row.querySelector('.box'); // ... } paira (vair i = 0; i <rows.length; i ++) { vair rows = document.querySelectorAll('.rows'); for (vair i=0; i<rows.length; i++) { vair row = rows[i]; vair textfield = row.querySelector('.textfield'); vair colorbox = row.querySelector('.box'); // ... } vair row = linhas [i]; vair rows = document.querySelectorAll('.rows'); for (vair i=0; i<rows.length; i++) { vair row = rows[i]; vair textfield = row.querySelector('.textfield'); vair colorbox = row.querySelector('.box'); // ... } // ... vair rows = document.querySelectorAll('.rows'); for (vair i=0; i<rows.length; i++) { vair row = rows[i]; vair textfield = row.querySelector('.textfield'); vair colorbox = row.querySelector('.box'); // ... } 

    Observe que você deve usair um loop for paira iterair as linhas porque querySelectorAll() não retorna uma matriz, apesair das apairências. Em pairticulair, isso significa que .forEach() não é válido na list retornada.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.