我有一个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>
如何解决我遇到的错误有什么问题?
答案 0 :(得分:1)
错误是您的代码中有random()。认为你错过了each
$(this).nextUntil('.group-header').(function() {
^^^^
下一个问题是您无法将this
与getElementById一起使用。
var el = document.getElementById(this);
应该只是
var el = this;