gpt4 book ai didi

javascript - 选择器查找属性大于给定的最接近的 DOM 元素

转载 作者:行者123 更新时间:2023-11-28 13:31:39 25 4
gpt4 key购买 nike

我在 AJAX 之后创建了表,如下所示:

<tr data-level=2>
<tr data-level=3>
<tr data-level=4>
..etc.
<tr data-level=2>
<tr data-level=3>
<tr data-level=4>
..etc.

当然,任何数据级别上都可能有许多单元格。

我想将大于单击级别的所有行隐藏到小于单击级别的行。因此 - 在单击 data-level=4 后,我想隐藏 data-level > 4 的所有元素,直到到达 data-level < 4 的行。

最佳答案

您可以使用.filter()

Reduce the set of matched elements to those that match the selector or pass the function's test.

示例代码

$('tr[data-level]').on('click', function(){
var level = $(this).data('level'); //Get level of clicked element
$('tr[data-level]').filter(function(){
return $(this).data('level') > level;
}).hide();
})

DEMO

使用

$('tr[data-level]').on('click', function () {
var level = $(this).data('level'); //Get level of clicked element
var arr = [];
$(this).nextAll('tr[data-level]').each(function () {
if ($(this).data('level') > level) {
arr.push($(this));
} else if ($(this).data('level') == level) {
return false;
}
});
$.each(arr, function(){
$(this).hide()
});
})

DEMO

关于javascript - 选择器查找属性大于给定的最接近的 DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24326731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com