使用jQuery隐藏具有非唯一属性的元素
Hiding elements having non-unique attributes with jQuery
我在一个长列表中有一些元素。我想做的是在属性data-title
中搜索具有非唯一属性值的元素,并隐藏所有多余的元素,这样只剩下1个。
考虑以下列表:
<div data-title="big hero 6">title</div>
<div data-title="big hero 6">title</div>
<div data-title="american sniper">title</div>
<div data-title="big hero 6">title</div>
<div data-title="some movie about cats">title</div>
由于有3个元素具有相同的属性值"big hero 6
",所以我想隐藏前2个元素,这样就只剩下最后一个了。
我怎样才能做到这一点?
在jQuery隐藏它们之后,原始HTML中的结果将类似于此:
<div data-title="big hero 6" style="display:none;">title</div>
<div data-title="big hero 6" style="display:none;">title</div>
<div data-title="american sniper">title</div>
<div data-title="big hero 6">title</div>
<div data-title="some movie about cats">title</div>
遍历具有data-title
属性的所有元素。
获取每个元素的标题,然后使用.nextAll('[data-title="' + title + '"]')
检查后续的同级元素是否具有相同的data-title
属性值。
如果任何其他后续的同级元素具有相同的值,请隐藏该元素。
此处示例
$('[data-title]').each(function () {
var title = $(this).data('title'),
occurrences = $(this).nextAll('[data-title="' + title + '"]').length;
if (occurrences) {
$(this).hide();
}
});
相关文章:
- ng重复中的ng模型-初始化唯一作用域属性
- JavaScript-用唯一属性标识对象
- “new”关键字是在构造对象时自动设置“constructor”属性的唯一方法吗
- Ember JS如何获取具有唯一属性值的数组
- 角度:当您需要“跟踪”但您没有唯一的属性可以跟踪时,您会怎么做
- 动态删除没有唯一属性的输入字段
- 基于单个属性从数组中获取唯一对象
- 使用jQuery隐藏具有非唯一属性的元素
- Knockout.js中使用的唯一ID;对于“;单选按钮组中的标签属性
- Backbone.js在permalink集合中所有模型的唯一属性名称
- 如何检查具有唯一值的相同属性的同一类
- 页面上第二个表单所需的唯一 id 属性
- Lodash Javascript 基于唯一属性值返回元素
- 基于两个属性从 javascript 中的对象数组中获取唯一数组
- 如何使用 Wolfpack.js 测试我的 Sails.js 模型的唯一电子邮件属性
- 克隆元素,但它们必须具有“唯一属性”
- 如何通过对象的唯一属性值从数组中获取对象
- 基于每个元素预先存在的唯一属性,复制/更改多个元素的属性
- 将唯一属性关联到JavaScript中的匿名函数
- 没有数.相对于对象数组中的另一个属性的唯一属性的出现