为什么这个jQuery不仅不行,还把其他的jQuery都搞坏了?

Why does this jQuery not only not work, but break all the other jQuery?

我正在 "fancy" 隐藏 Sharepoint WebPart 上的元素(slideUp 和 slideDown)。

不过,我为按钮添加了另一个处理程序:

$(document).on("click", '[id$=btnAddFoapalRow]', function (e) {
    alert('you mashed the foapal button');
    if ($('[id$=foapalrow3]').css('display') == 'none') {
        $('[id$=foapalrow3]').slideDown();
    }
    else if ($(['id$ = foapalrow4]').css('display') == 'none') {
        $('[id$=foapalrow4]').slideDown();
    }
});

...但它不仅无法工作(单击按钮时 HTMLTableRows 不显示),而且其他 jQuery(复选框更改事件处理程序等)在之后也无法工作添加此代码。注释掉它,旧代码仍然有效。

为什么这段代码会抹杀整个 shebang?

$(['id$ = foapalrow4]') <- 好像这里有错别字

应该是

$('[id$ = foapalrow4]')

编辑后的代码:

$(document).on("click", '[id$=btnAddFoapalRow]', function (e) {
    alert('you mashed the foapal button');
    if ($('[id$=foapalrow3]').css('display') == 'none') {
        $('[id$=foapalrow3]').slideDown();
    } else if ($('[id$ = foapalrow4]').css('display') == 'none') {
        $('[id$=foapalrow4]').slideDown();
    }
});

如果您使用的是 SharePoint,则推测您必须在 visual studio 上工作。使用 JavaScript 错误验证扩展,并避免在第 6 行的代码中出现打字错误(请参阅我使用的插件(JavaScript 解析器)在检测到的操作中的屏幕截图) JS 错误!