gpt4 book ai didi

javascript - jQuery如何过滤具有特定数据属性的元素

转载 作者:行者123 更新时间:2023-11-30 13:50:49 25 4
gpt4 key购买 nike

<分区>

我有一个格式如下的表格:

<table data-type="costTable">
<thead>...</thead>
<tbody>
<tr data-grouping='category' data-category='A'>...</tr>
<tr data-grouping='subCategory' data-category='A'>...</tr>
<tr data-grouping='subCategory' data-category='A'>...</tr>
...
<tr data-grouping='category' data-category='B'>...</tr>
<tr data-grouping='subCategory' data-category='B'>...</tr>
<tr data-grouping='subCategory' data-category='B'>...</tr>
...
</tbody>
</table>

最初,我使用 jQuery 添加了 class='hidden' 到所有子类别行。当用户点击一个类别时,比如类别 A,我想从其子类别中删除隐藏的类,例如a1、a2 和 a3。以下代码不起作用:

$(function () {

var categoryRows = $("table[data-type='costTable'] tr[data-grouping='category']");
var subCategoryRows = $("table[data-type='costTable'] tr[data-grouping='subCategory']");
var itemRows = $("table[data-type='costTable'] tr[data-grouping='item']");
var subItem = $("table[data-type='costTable'] tr[data-grouping='subItem']");

collapseInitial(subCategoryRows);
collapseInitial(itemRows);

if (subItem){
collapseInitial(subItem);
}

// Toggle subCategory rows:
categoryRows.click( function(){
// Clicking on the category rows should display their subcategory
var categoryName = $(this).data('category');

var targettedElements = subCategoryRows.filter("[data-category=categoryName]");
toggleElement(targettedElements);

});

});

我在浏览器里调试了一下,问题出在下面一行:

var targettedElements = subCategoryRows.filter("[data-category=categoryName]");

当单击类别行 A 时,它应该找到具有数据类别 A 的子类别行,但它什么也没找到。请注意,当我检查 targettedElements 时,它显示

r.fn.init [prevObject: r.fn.init(30)]

我也试过用 .has 函数代替 .filter,但这不会对返回值造成任何改变。请注意,当我对具有 categoryName 的类别名称进行硬编码时,它会返回正确的元素。因此,即使 categoryName 在控制台中显示为字符串,它也不会被替换。知道如何解决这个问题吗?

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