Javascript 我想筛选表中的值,但有一个错误
无法读取未定义的属性“textContent” 我有那个错误,我现在不知道为什么 我是一个初学者,所以可能这是一件非常简单的事情,我不明白Javascript 我想筛选表中的值,但有一个错误,javascript,Javascript,无法读取未定义的属性“textContent” 我有那个错误,我现在不知道为什么 我是一个初学者,所以可能这是一件非常简单的事情,我不明白 function price() { var table, tr, td, input; table = document.getElementById("myTable"); tr = table.getElementsByTagName("tr"); input = document.getElementById("myI
function price() {
var table, tr, td, input;
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
input = document.getElementById("myInput1");
for (let i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[2];
if ( parseInt(td.textContent) > parseInt(input.value)) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
函数价格(){
var表,tr,td,输入;
table=document.getElementById(“myTable”);
tr=table.getElementsByTagName(“tr”);
输入=document.getElementById(“myInput1”);
for(设i=0;iparseInt(input.value)){
tr[i].style.display=“”;
}否则{
tr[i].style.display=“无”;
}
}
}
事实上,我想在表中隐藏一行,其中它们的值大于用户写入的值
这是基本HTML:
<body>
<input type="text" class="fa fa-search" id="myInput1" onkeyup="price()" placeholder="Prix max" title="Ecrivez un prix">
<table id="myTable">
<tr>
<th>Name</th>
<th>Country</th>
<th>Price</th>
</tr>
<template id="listeDestinations">
<tr>
<td>{{pays}}</td>
<td>{{ville}}</td>
<td>{{price}}</td>
</tr>
</template>
</table>
<script src="../javascript/accueil.js"></script>
<script src="../javascript/Destinations.js"></script>
</body>
名称
国家
价格
{{pays}
{{ville}}
{{price}}
如果您能帮我这一行的话,首先谢谢您将检索html页面中的所有tr,并且您有2个tr标记 在此之后,执行for循环,在for循环的第一个迭代器中您将捕获第一个tr,然后您将在trtr[i]中获得所有td强>
但是您的第一个tr没有任何td它有th,因为这行td=tr[i].getElementsByTagName(“td”)[2]将返回未定义的您正在迭代所有tr,但并非所有tr都包含td。所以你的td是未定义的,你不能对它调用函数。尝试使用console.log自己解决此类问题。您是否使用angular?非常感谢我现在理解了我的错误,这是工作