Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.javascript > #3581 > unrolled thread

JA a tworzenie elementów DOM

Started byRoman Tyczka <noemail@because.no>
First post2019-01-29 14:53 +0100
Last post2019-01-29 15:40 +0100
Articles 3 — 2 participants

Back to article view | Back to pl.comp.lang.javascript


Contents

  JA a tworzenie elementów DOM Roman Tyczka <noemail@because.no> - 2019-01-29 14:53 +0100
    Re: JA a tworzenie elementów DOM Roman Tyczka <noemail@because.no> - 2019-01-29 14:54 +0100
    Re: JA a tworzenie elementów DOM Borys Pogoreło <borys@pl.edu.leszno> - 2019-01-29 15:40 +0100

#3581 — JA a tworzenie elementów DOM

FromRoman Tyczka <noemail@because.no>
Date2019-01-29 14:53 +0100
SubjectJA a tworzenie elementów DOM
Message-ID<11pc55hmknr5j.dlg@tyczka.com>
Wyczytałem, że tworzenie struktury dokumentu przez takie "html stringi"
jest złe:

data.forEach(function(entry) {
	$('#filelist').append(
        `<li class="list-group-item">
           <strong class="bundle-info">plik: 
            <a href="${entry.URL}">${entry.OriginalName}</a>
           </strong> - <strong class="bundle-info">
           ${entry.Desc}</strong>
         </li>`
	}

I że powinno się obiektowo i w ogóle, zrobiłem tak:

data.forEach(function(entry) {
	let li = document.createElement('li');
	li.className = 'list-group-item';
	let strong = document.createElement('strong');
	strong.className = 'bundle-info';
	strong.appendChild(document.createTextNode('plik: '));
	let a = document.createElement('a');
	a.href = `${entry.URL}`;
	a.appendChild(document.createTextNode(`${entry.OriginalName}`));
	strong.appendChild(a);
	li.appendChild(strong);
	li.appendChild(document.createTextNode(' - '));
	strong = document.createElement('strong');
	strong.className = 'bundle-info';
	strong.appendChild(document.createTextNode(`${entry.Desc}`));
	li.appendChild(strong);
	frag.appendChild(li);
});

I teraz się zastanawiam... po pierwsze zajęło mi to w pip więcej czasu, po
drugie jest to mniej jednak czytelne, bo za cholerę z tego kodu nie widzę
struktury, po trzecie jakiekolwiek zmiany będą wymagały rozkminy co w czym
i pod czym siedzi... czy naprawdę tak się robi czy coś źle mi się
zrozumiało? A jeśli tak się robi to może jest jakaś zgrabniejsza forma
zapisu niż tona zmiennych?

-- 
pozdrawiam
Roman Tyczka

[toc] | [next] | [standalone]


#3582

FromRoman Tyczka <noemail@because.no>
Date2019-01-29 14:54 +0100
Message-ID<10aktw6k5gvri.dlg@tyczka.com>
In reply to#3581
W topicu nie JA tylko JS miało być ;-)

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#3583

FromBorys Pogoreło <borys@pl.edu.leszno>
Date2019-01-29 15:40 +0100
Message-ID<prn0a6ay1uod$.1ny8xv0s0ai6i$.dlg@40tude.net>
In reply to#3581
Dnia Tue, 29 Jan 2019 14:53:56 +0100, Roman Tyczka napisał(a):

> I teraz się zastanawiam... po pierwsze zajęło mi to w pip więcej czasu, po
> drugie jest to mniej jednak czytelne, bo za cholerę z tego kodu nie widzę
> struktury, po trzecie jakiekolwiek zmiany będą wymagały rozkminy co w czym
> i pod czym siedzi... czy naprawdę tak się robi czy coś źle mi się
> zrozumiało?

Tak się robi, ale robienie tego ręcznie to jest masochizm, o ile nie uczysz
się podstaw albo czegoś mocno nie optymalizujesz. Zamiast tego zainteresuj
się jakimś frameworkiem, który zajmie się takimi niskopoziomowymi rzeczami
i pozwoli na skupienie się na właściwej logice aplikacji.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl

[toc] | [prev] | [standalone]


Back to top | Article view | pl.comp.lang.javascript


csiph-web