即使在postback-jquery之后也为元素应用Css

时间:2010-09-11 21:04:33

标签: asp.net jquery css

我的asp.net应用程序中有很多href(带有动态ID),它们具有相同的CssClass = MyClass。

我想要用条件隐藏这些按钮。

我使用了.ready

$(document).ready(function() {
  if(condition)
    $('.MyClass').css("display","none");
});

问题是docuement.ready在没有poctback时不会执行。

回发==>按钮visible.normal,因为我已将代码放入.ready。

有没有办法保留代码:$('.MyClass').css("display","none");

我尝试在按钮加载时应用.live(),但它不起作用。

有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以采用不同的方法,在CSS中定义样式,如下所示:

body.conditionClass .MyClass { display: none; }

然后将{em>该类应用于<body>上的document.ready,如下所示:

$(function() {
  if(condition)
    $('body').addClass('conditionClass');
});

现在.MyClass中任何位置<body>的新元素都会获得display: none样式。

答案 1 :(得分:0)

使用jQuery livequery插件:http://brandonaaron.net/code/livequery/docs

live()仅绑定事件。安装插件后,请使用:

$('.MyClass') 
.livequery(function() { 
    $(this).css("display","none");
});

这将隐藏类MyClass的项目,即使它们是从Ajax响应创建的。您甚至可以使用此代码代替您当前使用的ready函数。

在这种情况下,Nick Craver的解决方案更好,但只有在页面加载时才需要评估condition