为什么需要“jQuery(function()...”

时间:2013-06-11 16:30:57

标签: jquery

我是jQuery的菜鸟,并想知道为什么这需要“jQuery(function(){});”为了我的.each()工作。

给定一个包含5行(标签)的简单表格,我想循环遍历所有标签并打印出索引。所以在这个例子中,我希望在我的控制台日志中看到1,2,3,4,5。它似乎与.each()方法有关?

需要注意的一点是,我能够添加点击事件$(#someId).live('click',function()...这似乎在jQuery之外工作正常(function(){阻止...所以我对.each()无效的原因感到有些困惑。

感谢。

<script type="text/javascript">

    jQuery(function() {
        $("#table_id > tr").each(function(index) {
            console.log(index);
        });
    });

</script>

2 个答案:

答案 0 :(得分:1)

将代码包装在jQuery(function() { ... });$(document).ready(function(){ ... });中都可以完成同样的事情:在执行任何JavaScript / jQuery代码之前等待页面完成加载。

答案 1 :(得分:1)

jQuery(function() { ... });

的简写
jQuery(document).ready(function () { ... });

它的作用是排队一个函数,以便在文档“准备就绪”时进行交互。

无法等待文档准备就绪意味着您尝试访问DOM中尚不存在的元素,因此使用此构造可以避免这种情况。

请查看http://learn.jquery.com/using-jquery-core/document-ready/了解详情。