我有一个像手风琴一样的剧本, 这是我的剧本
$(document).ready(function(){
$('.film').click(function(){
$('.film').attr('id','activeMenu');
$('#film').slideToggle();
});
$('#activeMenu').click(function(){
$('.film').removeAttr("id");
});
});
这是activeMenu点击时的样式
.activeMenu{
background:#C9FF26;
}
如果我点击.film并再次点击,则id=activeMenu
不会被删除
答案 0 :(得分:3)
您的问题发生的原因是,当您致电$('#activeMenu').click(...)
时,您定位的元素实际上并没有该ID。
你可以潜在地使用$(document).on('click', '#activeMenu', ...)
(即委托的事件处理程序)即使#activeMenu
尚不存在也会有效但我不禁感到这将是错误的解决方案。在现有元素上动态添加或删除ID几乎不需要永远。一个适当的解决方案将取决于你正在努力实现的目标。
答案 1 :(得分:-4)
您需要使用.on方法在#activeMenu上注册点击事件
$('#activeMenu').on('click',function(){
$('.film').removeAttr("id");
});