Diskuze: Zmena pozície ak existuje iný element
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
(pseudokod)
<script>
function getTags(name,el) {var el = el ? el : document; return el.getElementsByTagName(name);}
var el, i;
el = getTags('DIV');
cyklus... if (el[i].getTags('UL').length>0) {el[i].getTags('H2')[0].className+='odsazeni';}
</script>
A nemuzes tam pri generovani v php pridat class 'odsazeni'?
A nebylo by jednodussi to zmenit zrovna u toho divu?
cyklus... if (el[i].getTags('UL').length>0) {el[i].className+='odsazeni';}
Ps, mozna to bude treba napsat zvlast
var el = {};
el.div = getTags('DIV');
cyklus...
el.ul = getTags('UL');
if (el.ul.length>0) {
el.h2 = getTags('H2');
el.h2[0].className += 'odsazeni';
}
Juj, ups, jinak ta funkce getTags Je treba tam uvest ten zdrojovy element, od ktereho ma H2 a UL
hledat.
var el = {};
el.div = getTags('DIV');
cyklus...
el.ul = getTags('UL', el.div[i]); // zmena
if (el.ul.length>0) {
el.h2 = getTags('H2', el.div[i]); // zmena
el.h2[0].className += 'odsazeni';
}
Čo je to za kód Peter? A čo tak takto nejak?
document
.querySelectorAll('div h2 + ul')
.forEach({previousSibling} => {previousSibling.style.textAlign = 'left'})
Teda ak mu šlo o text align, lebo nerozumiem ani jeho otázke, čo vôbec znamená "zmeniť left pozíciu pri h2" a popravde, nerozumiem ani tvojmu kódu.
Asi to mas ok. Muj kod to resi pro stare prohlizece. Ty novejsi veci moc neovladam. Ale chapu, ze to tve by mohlo fungovat stejne a je to vic prehlednejsi.
Vysvetleni mozna lepe graficky, jestli to spravne chapu.
nadpis - jen H2
text
nadpis - jen H2
text
nadpis - H2 + odrazky - posun zleva
* odrazka
* odrazka
nadpis - jen H2
text
Teoreticky toto, ale ešte som to neskúšal, píšem to z mobilu. Overím to neskôr a napíšem znovu.
document
.querySelectorAll('div h2 + ul')
.forEach({previousSibling: {style: {left}}} => {
left = '10px'
}
Dobre. Takže toto funguje. Samozrejme, za podmienky, že máš na tej H2 zapnuté position relative, alebo absolute.
document
.querySelectorAll('div h2 ~ ul')
.forEach(({previousElementSibling: {style}}) => {
style.left = '30px'
})
Ja bych pouzil el.className, pridat tam dalsi tridu a jeji vlastnosti doladit v css souboru.
Zobrazeno 9 zpráv z 9.