jQuery: 隐藏所有 attr=value 的元素

jQuery: hide all elements with attr=value

我在页面上有多个带有数据年份属性的 div。 每个都有一年的价值。 我正在检查给定范围内的任何值是否出现多个。

for (i = 2020; i < 2025; i++) {

   let variable = $("[data-sorting=" + i + "]");

   if (variable.length > 1) {

       alert("it's more than one div! value: " + i);

   }

}

如果可以,我想 hide/remove 所有的,除了一个。我该怎么做?

在这种情况下,您可以在 variable:

中隐藏集合中除第一个元素以外的所有元素
for (i = 2020; i < 2025; i++) {
  let variable = $("[data-sorting=" + i + "]");
  if (variable.length > 1) {
    variable.not(':first').hide(); // or remove()
  }
}