jQuery - 等待这个元素,然后执行1次

时间:2015-02-24 12:53:04

标签: javascript jquery

我正在尝试操纵滑块中的文字。 但问题是它只适用于第一张可见幻灯片。

我需要一个方法来等待这个元素,然后执行这一次。

    if(  $(".slide-1").is(":visible") == true )
{  
     var test5 = jQuery("h1,p",".feature-box-text");
     test5.wrapInner('<span></span>');
}
if(  $(".slide-2").is(":visible") == true )
{  
     var test6 = jQuery("h1,p",".feature-box-text");
     test6.wrapInner('<span></span>');      
}
if(  $(".slide-3").is(":visible") == true )
{  
     var test7 = jQuery("h1,p",".feature-box-text");
     test7.wrapInner('<span></span>');       
}
if(  $(".slide-4").is(":visible") == true )
{  
     var test8 = jQuery("h1,p",".rsts-active");
     test8.wrapInner('<span></span>');       
}

这是我的最后一个解决方案,但我仍需要等待“if”直到元素存在或等待此元素。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

每个滑块都有一些常见的类吗?假设它是&#34; ce_rsce_tao_feature_box&#34;。将$(document).ready()添加到以下代码中:

$('.ce_rsce_tao_feature_box').each(function() {
  var current_slider = $(this);
  current_slider.find('h1,p').wrapInner('<span></span>');
  current_slider.find('.feature-box-text').wrapInner('<span></span>');
});

答案 1 :(得分:0)

如果您想在DOM更改后通知,则应该查看Live Query。当DOM元素与您的选择器匹配时,此jquery插件将触发回调:

$('.slide2:visible').livequery(function() {
    alert("My slide 2 is now visible!");
});