我想在自己内部重申这个表格。但它不起作用。当我传递参数时,它不会出错或更好。
$('table tr').each(function () {
var tr = $(this)
var nivel = parseInt(tr.find('td:eq(1)').text());
var item = parseInt(tr.find('td:eq(0)').text());
if (nivel > 3) {
tr.closest('tr').css({ "display": "none" });
}
$('table tr').each(function (item) {
var itemPai = parseInt($(this).find('td:eq(2)').text());
if (item == itemPai) {
console.log("Tem filhos");
$(this).closest('tr').find('a.toggler').css({ "display": "normal" });
} else {
$(this).closest('tr').find('a.toggler').css({ "display": "" });
}
});
});
答案 0 :(得分:0)
我不明白你想要实现什么,可能有助于你知道你的桌子中有哪种数据。
您可以确定您访问的单元格值是数字吗?如果不是100%,请在使用typeof
之前使用parseInt
。
无论如何,在第二个循环中,来自外部循环的变量item
可用,在函数调用中声明它作为参数将覆盖外部值。
如果你想要的是比较外部循环和内部循环之间的值,只需从内部迭代的函数调用中删除参数:
$('table tr').each(function () {
var tr = $(this)
var nivel = parseInt(tr.find('td:eq(1)').text());
var item = parseInt(tr.find('td:eq(0)').text());
if (nivel > 3) {
tr.closest('tr').css({ "display": "none" });
}
$('table tr').each(function () {
var itemPai = parseInt($(this).find('td:eq(2)').text());
if (item == itemPai) {
console.log("Tem filhos");
$(this).closest('tr').find('a.toggler').css({ "display": "normal" });
} else {
$(this).closest('tr').find('a.toggler').css({ "display": "" });
}
});
});