使用匿名函数时的预期标识符

时间:2015-09-16 21:30:16

标签: javascript asp.net-mvc visual-studio anonymous-function

我有一个GridView,其结构如下:

  • 组报头

    • 部门标头

      • (某人实体)
      • (某人实体)
      • (某人实体)
    • 部门标头

      • (某人实体)
      • (某人实体)
      • (某人实体)
  • 组报头

    • 部门标头

      • (某人实体)
      • (某人实体)
      • (某人实体)
    • 部门标头

      • (某人实体)
      • (某人实体)
      • (某人实体)

虽然我有Javascript切换dept-header和子元素按预期工作,但切换在组头级别不起作用,因为一个dept-header的子元素可以切换,但不是另一个dept-header所以当在组头级激活切换时,它只是反转切换,这不是我想要的,所以我试着写一些Javascript,当点击组头时,它只会隐藏所有并发行,无论切换状态如何,直到下一个group-header如果它们没有被隐藏,否则单击group-header将显示/展开隐藏的行,而不管切换状态如何,直到下一个group-header。

由于是Javascript的新手,我目前正在最后一个函数左侧的'Expected identifier'处运行,并且无法确定原因,因为它看起来像是关闭了,但是我怀疑我对anon func使用了不正确的语法,但我的函数可能写得不正确:

<script type="text/javascript">
    $(function () {
        $('.group-header').click(function () {
            $(this).nextUntil('.group-header').(function() {
                var el = document.getElementById(this);
                if (el.style.display != 'none') {
                    el.style.display = 'none';
                }
                else {
                    el.style.display = '';
                }
            })
        });
    });

    $(function () {
        $('.dept-header').click(function () {
            $(this).nextUntil('.dept-header, .group-header').toggle();
        });
    });
</script>

如何解决我遇到的错误有什么问题?

1 个答案:

答案 0 :(得分:1)

错误是您的代码中有random()。认为你错过了each

$(this).nextUntil('.group-header').(function() {
                                 ^^^^

下一个问题是您无法将this与getElementById一起使用。

var el = document.getElementById(this);

应该只是

var el = this;