View Single Post
Sitat av Moff Vis innlegg
Det du trenger er en referanse som lar deg "få tak i" <tr>-elementet i JavaScriptet ditt. Det etse foreslår vil forsåvidt fungere, fordi JavaScriptet oppretter <tr>-elementet, og dermed har du en referanse til det.

Hvis du imidlertid ikke ønsker å opprette elementet via JavaScript (det blir ofte litt rotete), så kan du gi elementet en ID. JavaScript er i stand til å søke opp HTML-elementer, men søk etter objekter med ID er ofte det mest effektive alternativet..
Vis hele sitatet...
Nå skal det sies at objektet i eksempelet ble opprettet med string-concatinering i innerHTML, dette er et vepsebol - og noe man burde bare lære av seg med en gang. Det er så lett å introdusere alvorlige sikkerhetshull og bugs om man skriver kode på denne måten - og det mest reelle alternativet her er document.createElement. Ja det er kanskje litt mer tungvindt i starten - men det andre er litt som å pisse i bukse for å holde seg varm.

Jeg er veldig for å skille logikk og design. og det beste er om det meste av HTMLen kan være skrevet separat. Men om du ønsker å bruke plain javascript og vill opprette DOM-noder så er createElement måten å gjøre det på.

Angående jQuery vil jeg komme med en brannfakkel: men det er veldig 2010. I dag finnes det egentlig nesten ingen gode grunner til å bruke jQuery - det er et bloated rammeverk som har utgått på dato og for lengst burde bli glemt. Og jeg har brukt alt for mange timer av arbeidsdagen min til å skrive om fra jQuery til plain javascript. Siden funksjonaliteten vi trenger (getElementById o.s.v.) er godt støttet i alle nettlesere som folk faktisk bruker. Så i dag vil jeg aldri oppfordre folk til å ta det i bruk :

Og angående det siste (om hvordan kjøre etter siden er lastet) så funker det nesten alltid bare å hive på attributtet "defer" i script-tagen. Detter vil utsette kjøringen av scriptet til etter hele HTML-dokumentet er parset. Dette er støttet i alle moderne nettlesere (til og med IE10 støtter det).

Edit: Og de gangene "defer" ikke er godt nok, og man må garantere kjøring etter DOMen er ferdig, er det letteste å bare putte scriptet i slutten av body-elementet i HTMLen. Ikke noe behov for jQuery.

Altså:

Kode

<html>
    <head>
        <title>Min sidetittel</title>
    </head>
    <body>
        <article>
             <h1>En kul overskrift</h1>
             <p>En morsom tekst</p>
        </article>
        <script src="mitt-script.js" type="text/javascript"></script>
    </body>
</html>
Sist endret av etse; 15. mai 2019 kl. 15:00. Grunn: Automatisk sammenslåing med etterfølgende innlegg.