Per esempioper ogni tipo di elemento nel corpo
For each div in body
div.innerHtml = "poo"
next div
Si tratta ovviamente di codice pseudo ma dimostra quello che sto cercando di fare.
Per esempioper ogni tipo di elemento nel corpo
For each div in body
div.innerHtml = "poo"
next div
Si tratta ovviamente di codice pseudo ma dimostra quello che sto cercando di fare.
var elements = document.getElementsByTagName('div');
for (var i = 0; i < elements.length; i++) {
elements[i].innerHTML = "foo";
}
Se si vuole guardare solo nel <body>
:
var elements = document.body.getElementsByTagName('div');
for (var i = 0; i < elements.length; i++) {
elements[i].innerHTML = "foo";
}
'document.getElementsByTagName ('body') [0] === document.body';) –
@amnotiam. Sì, è stato stupido ... :) grazie. – gdoron
let elements= document.querySelectorAll('div');
Array.from(elements).forEach((el) => {
el.innerHTML = "foo";
});
Array.from()MDN
Document.querySelectorAll()
var elements= document.querySelectorAll('div');
[].forEach.call(elements, function(el) {
el.innerHTML = "foo";
});
var elements= document.getElementsByTagName('div');
for (var i=0; i<elements.length; i++) {
elements[i].innerHTML = "foo";
}
Una versione alternativa con il nuovo metodo Array.from()
e arrow functions in ES2015:
Array.from(document.body.getElementsByTagName("div")).forEach(a=>a.innerHTML='foo');
<div></div>
<div></div>
<div>Test</div>
<div></div>
<div>Hello</div>
<div>World</div>
Se la dimensione è assolutamente cruciale per voi, allora questa soluzione è solo 84 byte, rispetto al 113 per @ risposta di Roko e 120 per @ gdoron's.
In tal caso, jQuery potrebbe ridurre questo di gran lunga più:
$("body div").html('foo');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
<div></div>
<div>Test</div>
<div></div>
<div>Hello</div>
<div>World</div>
Ora solo 26 byte!
Esempi interessanti, ma non si può parlare di * size * e jQuery perché è una libreria su JS e * ha la sua dimensione * su se stessa. Complimenti per la versione JS di BT (anche se userei querySelectorAll;) –
lavoro facile:
NodeList.prototype.forEach = HTMLCollection.prototype.forEach = Array.prototype.forEach;
E ora:
// VanillaJS/JavaScript puro
var lista_de_divs = document.querySelectorAll('div')
lista_de_divs.forEach(function (div, i) {
// código...
console.log(i, div)
})
// jQuery
$('div').forEach(function (div, i) {
// código...
console.log(i, div)
})
ho risposto alla tua domanda, ma si dovrebbe fare i compiti prima ... – gdoron