javascript - 如果 attr 为 ^=X 且 X.length + 1,则切换 tr

标签 javascript jquery html

需要有关 JavaScript 条件的帮助。我想通过单击来切换表行 (tr) 和满足条件的后续行 (tr)。

到目前为止,我的代码可以正常工作,但不确定如何添加这个附加条件。这个附加条件是,如果 sortString 的长度为 X 个字符,并且后续 tr 有一个长度为 X+1、X+2、X+3 等字符的 sortString,则仅切换 sortString.length + 1。如果单击长度 3,则仅切换长度 4,并且不切换任何大于长度 4 的内容(在本例中)。

$('tr').click(function () {
    var sortString = $(this).closest('tr').attr('sort'); // works
    $('tr[sort=' + sortString + ']').toggle(); // works
    $('tr[sort^=' + sortString + ']').toggle(); // needs additional condition
}

我的 sortString 上连接有字符。所以它看起来像 12、或 123、或 1234、或 12345 等。因此,如果我单击 sortString 为 123 的 tr,则只有 1234 的 tr 被切换,而不是 12345(等)

我猜是这样的......

$('tr[sort^=' + sortString + ']').(sortString.length + 1).toggle();

最佳答案

您可能想要迭代第二个选择,以便可以通过额外的 if 语句进行过滤。

$('tr[sort^=' + sortString + ']').each() {
    if ($(this).attr('sort').length == sortString.length + 1) {
        $(this).toggle();
    }
}

关于javascript - 如果 attr 为 ^=X 且 X.length + 1,则切换 tr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36020033/

相关文章:

javascript - 如何使用计算函数进行过滤?

javascript - 当一个元素被拖动时,拖动类的所有元素(jQuery UI Draggable)

javascript - 基于下拉列表在 Canvas 上进行缓动的动画圆圈

javascript - 在 Angular2 中操作 DOM 的更好方法

javascript - 点击问题的 Accordion

javascript - 使用 intercom.js 在单独的窗口上触发功能

jquery - 使用 jquery 更改背景、颜色和文本

jquery - 如何限制每个 session 显示一次预加载器?

javascript - 使用 javascript 创建动画信号栏

javascript - 动态创建的可编辑 iframe 在 Firefox 中不起作用