Javascript 在HTML页面中使用jquery筛选数据

Javascript 在HTML页面中使用jquery筛选数据,javascript,jquery,html,Javascript,Jquery,Html,我试图过滤HTML页面中可用的数据 假设页面中有三个可用品牌:“abc”、“pqrs”、“xyz”和brandNameSelected=“abc”。现在,为了过滤页面上的数据,我使用这个代码剪贴 $(".product-container").filter(function () { alert($(this).data('brand')); return $(this).data("brand").indexOf(brandNameSelected) > -1; }).e

我试图过滤HTML页面中可用的数据

假设页面中有三个可用品牌:“abc”、“pqrs”、“xyz”和brandNameSelected=“abc”。现在,为了过滤页面上的数据,我使用这个代码剪贴

$(".product-container").filter(function () {
    alert($(this).data('brand'));
    return $(this).data("brand").indexOf(brandNameSelected) > -1;
}).each(function (index, item) {
    alert("here");
    $(item).css("background-color", "red");
});
alert($(this.data('brand'))打印所有可用品牌。但我并没有达到
alert(“这里”)

能请人帮忙找出问题出在哪里吗?

行得通

因此,它失败的原因是
brandNameSelected
的值与
$(this.data('brand')


这意味着没有任何元素与筛选器中的条件匹配,并且集合为空,因此每个
都不会运行;打印两个项目的abc。所以条件应该是理想匹配的。你能解释一下什么是数据对象吗?什么类型是
$(this)。数据('brand')
?这并没有多大帮助,你必须将这两个值记录到控制台,然后你才能找出不匹配的原因。如果有火柴,则每次火柴都会发出警报。
brandNameSelected = "abc"

$(".product-container").filter(function () {
    return $(this).data("brand").indexOf(brandNameSelected) > -1;
}).each(function (index, item) {
    $(item).css("background-color", "red");
});