在页面加载时触发代码不起作用

时间:2013-04-22 22:03:44

标签: javascript jquery onload

我将此代码绑定到一个按钮,单击该按钮时,执行代码以隐藏表格行:

<script>
       $(function hideinstr() {
           $('tr.parent td').on("click", "input.instr", function () {
             var idOfParent = $(this).parents('tr').attr('id');
             $('tr.child-' + idOfParent).toggle('slow');
           });
       });
</script>

我想在页面加载时默认执行此代码,如果想要显示表格行,请让用户单击按钮。如果在此代码中内置“click”,我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的解决方案永远不会执行函数hideinstr()。另外,如果您的代码在<head>中执行,请考虑使用$(document).ready。添加额外的括号来执行该函数,或删除周围的函数(函数hideinstr)。

<script>
   $(document).ready(function hideinstr() {
       $('tr.parent td').on("click", "input.instr", function () {
         var idOfParent = $(this).parents('tr').attr('id');
         $('tr.child-' + idOfParent).toggle('slow');
       });
   }());
</script>

<script>
   $(document).ready(
       $('tr.parent td').on("click", "input.instr", function () {
         var idOfParent = $(this).parents('tr').attr('id');
         $('tr.child-' + idOfParent).toggle('slow');
       });
   );
</script>

要直接执行事件脚本,请使用$('tr.parent td').click();