Ich versuche, eine Stylesheet-Datei, die dynamisch in meinem Header-Tag generiert wird, voranzustellen.JavaScript - wie ein Element im Header-Tag vorangestellt wird
Das Problem, das ich habe, ist, dass ich diese Datei vor allen anderen CSS-Dateien hinzugefügt werden muss.
Ich versuchte mit insertBefore()
, aber das scheint das Element, das ich verwende, als eine Kennung für das Element, das angehängt werden soll, anstatt nur das neue darüber zu hängen.
Hier ist der Code:
CssFile = document.getElementById('my-css')
Link = document.createElement('link')
Link.href = "example.css"
Link.type = 'text/css'
Link.rel = 'stylesheet'
Link.insertBefore(CssFile, Link.childNodes[0])
Meine index.html ist wie folgt:
<head>
<meta charset="utf-8">
<title></title>
<link href="css/my.css" rel="stylesheet" id="my-css">
<link href="css/vendor.css" rel="stylesheet">
</head>
und was ich nach der Funktion erwarten ausgeführt wird, ist dieses Ergebnis:
<head>
<meta charset="utf-8">
<title></title>
<link href="example.css" rel="stylesheet">
<link href="css/my.css" rel="stylesheet" id="my-css">
<link href="css/vendor.css" rel="stylesheet">
</head>
aber stattdessen ist das, was ich bekomme:
<head>
<meta charset="utf-8">
<title></title>
<link href="example.css" rel="stylesheet">
// Missing file here!
<link href="css/vendor.css" rel="stylesheet">
</head>
Ich habe mir die Dokumentation angesehen, aber anscheinend habe ich nicht wirklich verstanden, wie man das benutzt.
@RajshekarReddy Fehler behoben. Entschuldigung – Nick