如果我将背景图像定义为:
#header
{
width: 100%;
background: url(/Content/images/header.jpg) -0 0 no-repeat;
}
我希望在页面加载后覆盖它。这段代码不应该有用吗?
$("#header").css('background-image', '/Content/images/aff/header_<%=affiliateID%>.jpg')
编辑:如上所述,脚本需要在页面加载后运行......而这里的事情变得有些复杂。这是一个MVC应用程序......这段代码位于主页面中,但嵌套在“RenderPartial”控件中: [在my.Master上]
<% Html.RenderPartial("showLoginStatus"); %>
然后在showLoginStatus.ascx控件中是:
<script type="text/javascript">
$(document).ready(function(){
$("#header").css('background-image', '/Content/images/aff/header_<%=affiliateID%>.jpg')
alert('this');
}
</script>
添加'document.ready'包装器时,alterrt永远不会触发。因此,与该控件何时呈现相关的东西正在捣乱。我改变的背景可能已被处理....它只是重写,因为它存在于样式表中。 (我所要做的就是将它从那里移除?)[赶紧试试]
答案 0 :(得分:2)
您需要在页面加载后使用以下内容执行此操作:
$(document).ready(function(){
$("#header").css('background-image', 'url(/Content/images/aff/header_<%=affiliateID%>.jpg)');
});
答案 1 :(得分:0)
使用此
$(document).ready(function(){
$("#header").css('background', 'url(/Content/images/aff/header_<%=affiliateID%>.jpg) no-repeat');
});
您还必须添加“不重复”。
你需要使用多种样式,试试这个:
$(document).ready(function(){
$("#header").css({
'width':'50%',
'background':'url(/Content/images/aff/header_<%=affiliateID%>.jpg) no-repeat'
});
});