我有li
类“tab3”。其他地方有jQuery,当你将鼠标悬停在它上面时它会添加“已选择”类。发生这种情况时我想做点什么:
<li class='tab3 selected'>
<div class='showme'>Show this</div>
<div class='addattr'>Add attributes</div>
</li>
$('.tab3.selected').each(function() {
$('.showme').show();
$('.addattr').attr('style', 'position:relative; display:block');
});
答案 0 :(得分:3)
没有内置的方法可以做到这一点,但你总是可以为“自定义”事件注册一个事件处理程序,比如“类更改”,然后在更新元素的类时触发它。 (您甚至可以重新定义“addClass”函数来执行此操作。)
$('whatever').addClass('selected').trigger('class-change');
// ...
$('.tab3').bind('class-change', function() {
$('.tab3.selected').each(function() {
$('.showme').show();
$('.addattr').attr('style', 'position:relative; display:block');
});
});
当然,你应该考虑使用普通的旧CSS规则在添加/删除类时改变外观,如@Brad Wedell的回答中所述。
答案 1 :(得分:2)
您可以通过css:
完成此操作<style type="text/css">
.tab3 .showme{display:none;}
.tab3.selected .showme{display:block;}
</style>