Como muchos de nosotros, quiero mantener mi código lo más SECO (No se repita) como sea posible, y eso incluye mi sitio web. Me gustaría hacer esto importando el pie de página común en todas las páginas, lo cual está bien, y lo hago de la siguiente manera:
página.html
<html> <head> <script type="text/javascript"> $(function(){ $("#footer").load("./Components/footer.html"); }); </script> </head> <body> This is my main page content <div id="footer"></div> </body> </html>pie de página.html
<div class="copyright-notice"> <p align=center> Copyright © 2019 - <class id="getyear"></class> Joe Bloggs. </p> </div> <script> let d = new Date(); document.getElementById("getyear").innerHTML = (new Date()).getFullYear(); </script>El problema aquí se incluye el pie de página, pero solo contiene lo siguiente:
Copyright © 2019 - Joe Bloggs.
Espero que contenga:
Copyright © 2019 - 2021 Joe Bloggs.
Me pregunto si es un problema de DOM. Por cierto, puedo ver que JavaScript se está ejecutando, porque si pongo <class id="getyear"></class> en page.html, entonces el JavaScript de footer.html funciona y pone la fecha correctamente.
Es un poco poser. ¿Algunas ideas?
Su código está funcionando correctamente :)
Esta es la captura de pantalla 
página.html
<html> <head> <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous" ></script> <script type="text/javascript"> $(function () { $("#footer").load("./footer.html"); }); </script> </head> <body> This is my main page content <div id="footer"></div> </body> </html>pie de página.html
<div class="copyright-notice"> <p align="center"> Copyright © 2019 - <class id="getyear"></class> Joe Bloggs. </p> </div> <script> let d = new Date(); document.getElementById("getyear").innerHTML = new Date().getFullYear(); </script>