我正在使用CMS,它阻止我们编辑头部。我需要在标记之后立即向网站添加CSS样式表。有没有办法用JS做到这一点,在这里我可以在页面底部添加一个脚本(我可以在标记之前添加脚本),然后将样式表注入(inject)到头部?

最佳答案

更新:根据specs,体内不允许link元素。但是,大多数浏览器仍然可以很好地渲染它。因此,要回答评论中的问题,实际上必须在页面的link中添加head而不是body

function addCss(fileName) {

  var head = document.head;
  var link = document.createElement("link");

  link.type = "text/css";
  link.rel = "stylesheet";
  link.href = fileName;

  head.appendChild(link);
}

addCss('{my-url}');

或使用jQuery轻松一点
function addCss(fileName) {
   var link = $("<link />",{
     rel: "stylesheet",
     type: "text/css",
     href: fileName
   })
   $('head').append(link);
}

addCss("{my-url}");

原始答案:

您不必将其添加到头部,只需将其添加到body标签的末尾即可。
$('body').append('<link rel="stylesheet" type="text/css" href="{url}">')

正如Juan Mendes所说,您可以将样式表插入头部
$('head').append('<link rel="stylesheet" type="text/css" href="{url}">')

和没有jQuery的情况相同(请参见上面的代码)

关于javascript - 使用主体中的javascript将样式表添加到Head,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11833759/

10-11 20:29
查看更多