使用jQuery更改CSS值

时间:2010-06-18 14:17:40

标签: jquery css

如果我将背景图像定义为:

#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永远不会触发。因此,与该控件何时呈现相关的东西正在捣乱。我改变的背景可能已被处理....它只是重写,因为它存在于样式表中。 (我所要做的就是将它从那里移除?)[赶紧试试]

2 个答案:

答案 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'
  });
});