javascript - html 源中缺少 "</style>"

标签 javascript jquery html css

我想用 jquery 将样式附加到 html head:

<script type="text/javascript">
var appendStyle = jQuery('<style type="text/css">body {margin: 0;}</style>');
jQuery('html > head').append(appendStyle);
</script>  

问题是 html 中缺少它。 Html 源 (ctrl + u) 将显示:

<script type="text/javascript">
var appendStyle = '<style type="text/css">body {margin: 0;}';
jQuery('html > head').append(appendStyle);
</script>

这很奇怪,因为这只发生在某些页面上。我的代码有什么问题吗?有人知道为什么 '' 被切断了吗?

最佳答案

附加整个样式表

如果您想附加整个样式表,请使用:(确保您的样式已经在 style.css 中)。

$('head').append('<link rel="stylesheet" href="style.css" type="text/css"/>');

更新单元素样式

如果你只想更新 1 个元素的样式(比如 body ),你不需要将它添加到头部,而是直接将样式应用于元素(它将显示内联)。

$('body').css('margin', 0); // Apply this style directly to the element

向头部添加多个元素

如果你必须使用你现在的方法,你可以考虑转义 </style> 中的反斜杠。 .

类似于:

<script type="text/javascript">
// Also remember the DOM ready when using jQuery! (You may have issues without it)
$(document).ready(function(){
    var appendStyle = jQuery('<style type="text/css">body {margin: 0;}<\/style>');
    jQuery('html > head').append(appendStyle);
})
</script>  

关于javascript - html 源中缺少 "&lt;/style&gt;",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27919075/

相关文章:

javascript - 在 DOM 元素上使用 JQuery 函数

html - IE 不居中这些图像,有解决办法吗?

javascript - 'this' 关键字在 Javascript 的对象原型(prototype)中返回窗口对象?

javascript - 使用 javascript 更新文本框

javascript - 如何从angularjs中的json文件获取表数据

javascript - Tumblr 上的无限水平滚动

javascript - 根据变量值检查单选按钮

html - HTML 表格中的表格

javascript - 仅当ajax调用完成时才在函数中返回值吗?

javascript - 在jQuery中的空格后向文本框添加逗号