Sitat av
Moff
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..
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. 16:00.
Grunn: Automatisk sammenslåing med etterfølgende innlegg.