jquery - CSS 文件中的硬编码 URL

标签 jquery asp.net html css asp.net-mvc

我正在处理的元素在 CSS 文件中有这样的硬编码 URL:

a.edit
{
    background: url(/TestSite/Images/Edit.png) no-repeat top left;
    display: inline-block;
    width: 16px;
    height: 16px;
    padding:1px;
    margin:1px;
    text-indent: -9999px; /* hides the link text */
}

当站点移至生产环境时,这些链接会中断。我正在寻找一个解决方案,以便它可以在网站运行的任何地方运行。

这就是我想出的方法并且它有效,但我想知道是否有更好的方法:

<script>
    $(document).ready(function () {
        $("a.edit").css('background', 'url(' + $("body").data("baseurl") + 'Images/Edit.png) no-repeat top left');
    });
</script>
<body data-baseurl="~/">...</body>

最佳答案

CSS 处理相对于样式表所在位置的相对 URL。利用这一点,不要在 javascript 中重写 URL。

关于jquery - CSS 文件中的硬编码 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10689430/

相关文章:

c# - 类型转换匿名类型抛出类型转换错误

jquery - 奇特盒子2 : formatting title

jQuery 淡入/淡出 (a & a :hover) in a navigation menu?

c# - 如何在 ASP.NET 中获取 session 状态对象的集合?

c# - 使用javascript查找放置在gridview中的复选框和文本框

JavaScript cookie 错误

javascript - 将页面直接加载到 anchor 标记

javascript - Angular : Using ngShow and Hide to remove spinner if no data returned

html - 绝对侧边栏或固定页脚

javascript - 使用 JavaScript 保护 html 页面上的元素数据