javascript - 使用 Javascript 检测 URL 并应用 CSS

标签 javascript jquery

所以我有一个页面想要应用一些 CSS,但它是由 CMS 动态生成的。 URL 保持不变,所以我想我可以将其粘贴在模板文件的头部,以将 CSS 添加到我想要的页面,但它不起作用。

<script type="text/javascript">
jQuery(document).ready(function () {
if(window.location.href.indexOf("/products.html"))
{
document.write("<style type=\"text/css\">
.category-grid li:nth-child(4)
{
margin-left:115px;
}   
</style>");
}
});
</script>

我的 document.write 语句中可能存在一些语法错误,因为这就是错误发生的地方,但我无法弄清楚。有什么想法吗?

最佳答案

您不能使用document.write()在 jQuery“就绪”处理程序中。浏览器完成构建 DOM 后(这就是“就绪”处理程序所暗示的含义),随后调用 document.write将破坏页面。

您可以使用一些始终包含但由主体类限定的 CSS 规则,而不是这样做:

.products .category-grid li:nth-child(4) {
   margin-left: 115px;
}

然后您的脚本会将“产品”添加到 <body>当 id 确定它是正确的页面时元素的类。

关于javascript - 使用 Javascript 检测 URL 并应用 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9670303/

相关文章:

javascript - 从 DropDownList 中选择选项时激活函数

php - 将值插入数据库并使用 Ajax 和 php 返回另一个值

javascript - 是否可以在不使用 Promise 的情况下从异步函数中的回调返回值?

javascript - Cufon 构建器字体 js 文件在 Fabric.js 中不起作用

javascript - 异步等待仅在 catch 中输出错误消息

javascript - 如何在最近的 tr 选择上更改 td 的 img src 并将鼠标悬停在

php - iconv() 或 utf8_encode 如何使我的脚本 UTF8 友好?

javascript - JQuery 使用 $.ajax() 访问远程站点

javascript - 为一个元素设置长度(高度或宽度)减去另一个元素的可变长度,即 calc(x - y),其中 y 未知

javascript - 使用 JS 和 HTML 动态下拉更改输入标签