如何检查 table 行 style.display = "table-row"
How to Check table row style.display = "table-row"
我有排序 table 行和值 tablerowSUM
的代码
问题我想收集tablerowSUM = "display: table-row" in console.log 并显示全部
在外部函数中
和值 tablerowSUM 在我的代码中未定义
这是我所有的代码Fiddle:http://jsfiddle.net/0s1uafgw/5/
// =================================== Filter ======================================
var tablerowSUM;
function filter(event, filterCol) {
let element = event.target;
let condt1 = document.getElementsByClassName(filterCol);
for (let i = 0; i < condt1.length; i++) {
if (condt1[i].innerHTML.toLowerCase() == element.value.toLowerCase()) {
if (element.checked == true) {
condt1[i].parentElement.closest('tr').style = "display:table-row"
tablerowSUM = condt1[i].parentElement.closest('tr');
} else {
condt1[i].parentElement.closest('tr').style = "display:none"
}
}
}
}
console.log(tablerowSUM)
document.querySelectorAll('.option1')
.forEach(input => input.addEventListener('input', ()=>filter(event,"check1")));
<div id="input">
<label>Filter Name </label><br>
<label>Human<input class="option1" type="checkbox" value="Human" checked/></label>
</div>
<table id="listingTable">
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td class="check1">Human</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td class="check1">Robot</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td class="check1">Robot</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td class="check1">Robot</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td class="check1">Human</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td class="check1">Human</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
</table>
抱歉我的英语不好,无法解释所有我需要的,希望你能理解我的需要
谢谢!
您不能在函数内修改变量 tablerowSUM,这会产生副作用。
像这样使用函数属性
if (element.checked == true) {
condt1[i].parentElement.closest('tr').style = "display:table-row"
filter.tablerowSUM = condt1[i].parentElement.closest('tr');
并像这样在函数外访问它
console.log(filter.tablerowSUM)
您不需要在任何地方声明 tablerowSUM,它现在是函数的 属性。
我有排序 table 行和值 tablerowSUM
的代码问题我想收集tablerowSUM = "display: table-row" in console.log 并显示全部 在外部函数中
和值 tablerowSUM 在我的代码中未定义
这是我所有的代码Fiddle:http://jsfiddle.net/0s1uafgw/5/
// =================================== Filter ======================================
var tablerowSUM;
function filter(event, filterCol) {
let element = event.target;
let condt1 = document.getElementsByClassName(filterCol);
for (let i = 0; i < condt1.length; i++) {
if (condt1[i].innerHTML.toLowerCase() == element.value.toLowerCase()) {
if (element.checked == true) {
condt1[i].parentElement.closest('tr').style = "display:table-row"
tablerowSUM = condt1[i].parentElement.closest('tr');
} else {
condt1[i].parentElement.closest('tr').style = "display:none"
}
}
}
}
console.log(tablerowSUM)
document.querySelectorAll('.option1')
.forEach(input => input.addEventListener('input', ()=>filter(event,"check1")));
<div id="input">
<label>Filter Name </label><br>
<label>Human<input class="option1" type="checkbox" value="Human" checked/></label>
</div>
<table id="listingTable">
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td class="check1">Human</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td class="check1">Robot</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td class="check1">Robot</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td class="check1">Robot</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td class="check1">Human</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td class="check1">Human</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
</table>
抱歉我的英语不好,无法解释所有我需要的,希望你能理解我的需要
谢谢!
您不能在函数内修改变量 tablerowSUM,这会产生副作用。
像这样使用函数属性
if (element.checked == true) {
condt1[i].parentElement.closest('tr').style = "display:table-row"
filter.tablerowSUM = condt1[i].parentElement.closest('tr');
并像这样在函数外访问它
console.log(filter.tablerowSUM)
您不需要在任何地方声明 tablerowSUM,它现在是函数的 属性。