Javascript 如何通过在退出时返回true,将一个值与多个表行中的所有表首tds进行比较?
我有一个表,我想将我的值与它的所有第一个Javascript 如何通过在退出时返回true,将一个值与多个表行中的所有表首tds进行比较?,javascript,jquery,Javascript,Jquery,我有一个表,我想将我的值与它的所有第一个TRs>TDs进行比较 我给了一个类,该类被添加到我想要循环通过的所有td中,并与给定的值ex:ID=77进行比较 我试过了,但没用 Javascript代码 function CheckIfExists2(EmployeeID) { var x = false; $("tr.rows").each(function () { var addedIDs = $(this).find("td.added").val();
TRs>TDs
进行比较
我给了一个类,该类被添加到我想要循环通过的所有td中,并与给定的值ex:ID=77进行比较
我试过了,但没用
Javascript代码
function CheckIfExists2(EmployeeID) {
var x = false;
$("tr.rows").each(function () {
var addedIDs = $(this).find("td.added").val();
if (EmployeeID == addedIDs) {
x = true;
}
});
if (x == true) {
return true;
} else {
return false;
}
return false;
}
Html
<tbody id="AddedEmployees">
<tr class="rows">
<td class="added">267</td>
<td>A</td>
<td>0</td>
<td>1500</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
<tr class="rows">
<td class="added">106</td>
<td>6</td>
<td>7</td>
<td>6980</td>
<td>700</td>
<td>320</td>
<td>360</td>
</tr>
</tbody>
267
A.
0
1500
0
0
0
106
6.
7.
6980
700
320
360
值属性未与td元素关联。因此,.val()
返回空字符串。您需要使用.text()
而不是.val()
来获取元素的文本内容:
var addedIDs = $(this).find("td.added").text();
更清晰的代码:
function CheckIfExists2(EmployeeID) {
var result = false;
return $("td.added").each(function () {
if($(this).text() == EmployeeID){
result = true;
}
}).promise().then(function()
return result;
});
}
非常感谢@Milind Does.val();使用输入和.text();与另一个标记一起使用?在旁注中,我认为不使用
每个
,而是使用一个正常的for循环
,您可以中断该循环,更适合您的目的。这样,您可以在第一次匹配时简单地返回true
。当前,您将始终比较每个值,即使第一个值已经匹配。这将始终返回false,因为内部返回仅从迭代器函数返回。