Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'apprend le JS et en particulier j'essaie de changer de place des élements j'aimerais dynamiquement mettre mon paragraphe p au dessus de mon titre h1 mais j'ai une erreur qui ressort avec la console "Uncaught TypeError: Failed to execute 'insertBefore' on 'Node': parameter 1 is not of type 'Node'." Merci :)

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1 id="titre">Lorem ipsum dolor sit.</h1>
    <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nulla porro facere voluptas sequi quidem ipsam?</p>

    <script src="app.js">

        const title = document.getElementById("titre");
        const para = document.body.getElementsByTagName("p");

        document.insertBefore(para, title);

    </script>

</body>
</html>

Ce que j'obtiens

"Uncaught TypeError: Failed to execute 'insertBefore' on 'Node': parameter 1 is not of type 'Node'."

2 réponses


Defy
Réponse acceptée

c'est normale, insertBefore s'applique sur des node pas sur document. il faut donc revoir ton algo, voila la doc mdn

Merci j'ai donc utilisé .before ça marche ;)