petla w div'ie

0

Hej,
Jak wstawić wynik pętli w div'ie? Pewnie dla Was to easy...

samochody("Audi", "BMW");

function samochody() {
	var content = document.getElementById('wyk');
 
    content.innerHTML = "Samochody: ";
 
    for(i=0; i<samochody.arguments.length; ++i) {
            content.innerHTML += i + " ";
	   document.write(samochody.arguments[i] + "<br>");
}
}
<div id="wyk">
</div>
1
function dodajSamochody(samochody) { // przyjmuj *jawnie* tablicę, nie baw się (zwłaszcza na początku) z tablicą `arguments`
  let newHtml = 'Samochody:';

  for (let samochod of samochody) { // najwygodniejszy i najbezpieczniejszy sposób iteracji po tablicy
    newHtml += '<br>' + samochod;
  }

  document.getElementById('wyk').innerHTML = newHtml; // zmiana DOM jest stosunkowo wolna i ociężała, zatem powinna być wykonywana jak najrzadziej; w tym przypadku zastosowaliśmy zmienną lokalną, aby DOM zostało zmodyfikowane tylko raz (a nie samochody.length razy).
}

dodajSamochody([
  'BMW', 'Audi',
]);
1

https://codepen.io/anon/pen/oPzKwM

(Może nie działać w starych przeglądarkach, użyłem ES6+)

0

Dzięki !
A teraz trudniejsze: Każda nazwa marki samochodu jest w oddzielnej class albo id w div.Jak to rozkminic?

np.

<div id="audi">I tu nazwa audi z tablicy/funkcji</div>
<div id="bmw">I tu nazwa bmw tablicy/funkcji</div>
0

Najprościej będzie tak:

newHtml += `<div id="${samochod}">${samochod}</div>`;

Można by się też pobawić z document.createElement.

1 użytkowników online, w tym zalogowanych: 0, gości: 1