除非使用setInterval(),否则脚本不起作用

时间:2013-10-29 06:05:36

标签: javascript jquery performance

我正在使用一个简单的脚本来删除我的字段中的css类。

<script type="text/javascript">
$(document).ready(function() {
setInterval(function() {
  $('#myField').removeAttr('class');
}, 200);
 });
</script>

该脚本仅在我使用setInterval()时才有效,否则脚本不起作用。

有人可以帮助我如何在没有setInterval()的情况下执行脚本,我想这种情况会发生,因为脚本在页面完全加载之前执行。

1 个答案:

答案 0 :(得分:0)

显然,具有id myField的元素是动态创建的脚本。问题是元素可能无法创建到200毫秒。最好做一些其他的测试。 不幸的是,除非您更改创建元素的周围代码,否则没有别的办法。更优选地,以这种方式编写代码。至少通过删除元素来停止间隔。

<script type="text/javascript">
/**
 *  @author Georgi Naumov 
 **/
$(document).ready(function() {
    setTimeout(function handleItem() {
      if($('#myField').length) {
          $('#myField').removeAttr('class');
      } else {
          setTimeout(handleItem, 200);
      }
    }, 200);
 });
</script>