jQuery - 添加类后如何刷新选择器

时间:2011-10-20 07:47:28

标签: jquery jquery-selectors

我在jsfiddle中做了这个例子来演示我的问题:http://jsfiddle.net/paulmason411/7E6vG/

查看灰色类的添加方式,但是当您再次悬停时它不会应用左边距。我猜这是因为在类添加灰色类之前声明了$('.block.grey')选择器。

我是否可以在添加课程后让$('.block.grey')选择器重新解析dom?

任何帮助都会很棒,欢呼!

编辑: 我有一个更复杂的例子

$('.accordion h3').not('.ui-state-active').find('a').live('hover', function(){

动态添加ui-state-active类的位置。 bitsMix指出这段代码正在使a生效。所以我已将其更新为

$('.accordion h3').live('hover', function(){
  $(this).not('.ui-state-active').find('a').stop().animate({

它有效!谢谢你们!

4 个答案:

答案 0 :(得分:2)

$('.grey').live('hover',function(){
    $(this).css('margin-left', '100px');    
});

http://jsfiddle.net/bitsmix/7E6vG/2/现场演示:)

答案 1 :(得分:2)

你需要像这样添加直播:

$('.block.grey').live( "hover",function(){
    $(this).css('margin-left', '10px');    
});

fiddle

答案 2 :(得分:2)

来了:

$('.block').hover(function(){
    $(this).css('background-color', '#CCC'); 
    $(this).addClass('grey');
});

$('.block.grey').live('hover',function(){
    $(this).css('margin-left', '10px');    
});

jQuery Live

答案 3 :(得分:1)

您可以使用.live()

$('.block.grey').live('hover', function() {
    $(this).css('margin-left', '10px');    
});

http://jsfiddle.net/7E6vG/1/