【问题标题】:$(Document).ready does not fire on code but works in console$(Document).ready 不会在代码上触发,但可以在控制台中使用
【发布时间】:2017-08-03 05:18:13
【问题描述】:

该脚本不适用于代码,但可以在控制台上运行。我试过输入$(windows).ready,但还是不行

脚本是

    <script>
    console.log('1')
    $(document).ready(function() {
     console.log('2')
     $("#nets > #tinsasc").each(function(i){
            console.log('3')
            setTimeout(function(){
                console.log('4')
                $("#nets > #tinsasc").eq(i).addClass("isshowing");
            }, 200 * (i+1));
        });
        console.log('5')
        });
     </script>

请帮助我,过去几天我一直在解决这个问题,但无法解决。请随意问我是否解释得不好。

【问题讨论】:

  • 请出示您的 HTML 代码。
  • 旁注,每次滚动都会触发 a ton 事件。您很可能希望对此进行节流/去抖动,并且至少限制您在处理程序中执行的查找次数,并改为使用缓存的变量引用。
  • 您使用的是非常旧的 Internet Explorer 版本吗?除非控制台本身打开,否则 8 及以下版本不会初始化控制台
  • 它会抛出错误,还是不起作用?

标签: php jquery html mysql ajax


【解决方案1】:

ID 是独一无二的。因此$('#nets') 只会找到一个元素,而i 将永远为零。如果您希望找到多个元素,则应将其更改为通过另一个可以找到多个元素的选择器来查找,例如类。

这同样适用于$("#nets &gt; #tinsasc")。只有一个 id 为 'tinsasc' 的元素,因此此查找可能只是 $("#tinsasc") 并且永远不会返回多个元素。

【讨论】:

  • 尝试使用类而不是 div,但仍然无法正常工作。它适用于控制台,但脚本不适用于代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多