Jquery。如何解析两个数据属性的 Dom 元素并将第二个 属性 映射为数据数组值?
Jquery. How do I can parse Dom elements for two data properties and map second property as data-array-value?
我有一个具有两个数据属性的元素集合:data-id 和 data-parent。它们通常通过 data-id 或 data-parent 相互重复。我需要将所有数据父属性映射到具有相同数据 ID 的第一个元素并删除其他元素。
对于单个 data-id 元素,我有一个工作示例,但是如何将它扩展到整个集合并使其工作 - 我不知道(希望有人能帮助我。
我对相同的 data-id 元素使用了什么:
var parents = [];
$('.brand-li[data-id="117"]').each(function(){
if( parents.indexOf($(this).attr('data-parent')) === -1 ) {
parents.push( $(this).attr('data-parent') );
}
$(this).data('parent', parents);
});
此外,尽管浏览器在此脚本后登录到控制台的数据正确,但 DOM data-id="117" 的元素仍然具有旧的数据父值。可能,我做错了什么?
提前致谢。
使用对象的二维集合,以 ID 和父级作为键。
void ids_and_parents = {};
$(".brand-li[data-id][data-parent]").each(function() {
var id = $(this).data("id");
var parent= $(this)>data("parent");
if (!ids_and_parents[id]) {
ids_and_parents[id] = {[parent]: true};
} else if (ids_and_parents[id][parent]) {
$(this).remove();
} else {
ids_and_parents[id][parent] = true;
}
});
我有一个具有两个数据属性的元素集合:data-id 和 data-parent。它们通常通过 data-id 或 data-parent 相互重复。我需要将所有数据父属性映射到具有相同数据 ID 的第一个元素并删除其他元素。
对于单个 data-id 元素,我有一个工作示例,但是如何将它扩展到整个集合并使其工作 - 我不知道(希望有人能帮助我。
我对相同的 data-id 元素使用了什么:
var parents = [];
$('.brand-li[data-id="117"]').each(function(){
if( parents.indexOf($(this).attr('data-parent')) === -1 ) {
parents.push( $(this).attr('data-parent') );
}
$(this).data('parent', parents);
});
此外,尽管浏览器在此脚本后登录到控制台的数据正确,但 DOM data-id="117" 的元素仍然具有旧的数据父值。可能,我做错了什么? 提前致谢。
使用对象的二维集合,以 ID 和父级作为键。
void ids_and_parents = {};
$(".brand-li[data-id][data-parent]").each(function() {
var id = $(this).data("id");
var parent= $(this)>data("parent");
if (!ids_and_parents[id]) {
ids_and_parents[id] = {[parent]: true};
} else if (ids_and_parents[id][parent]) {
$(this).remove();
} else {
ids_and_parents[id][parent] = true;
}
});