我的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()
,但它不起作用。
有什么想法吗?
提前致谢。
答案 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
。