petla w div'ie

GO
  • Rejestracja:około 16 lat
  • Ostatnio:ponad 5 lat
0

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

Kopiuj
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>");
}
}
Kopiuj
<div id="wyk">
</div>
Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
1
Kopiuj
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',
]);

edytowany 6x, ostatnio: Patryk27
DE
for (samochod in samochody). Na pewno powinno być "for in" ?, anie "for of" ?
Patryk27
Racja, for of.
1

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

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

GO
  • Rejestracja:około 16 lat
  • Ostatnio:ponad 5 lat
0

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

np.

Kopiuj
<div id="audi">I tu nazwa audi z tablicy/funkcji</div>
<div id="bmw">I tu nazwa bmw tablicy/funkcji</div>
Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Najprościej będzie tak:

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

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


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.