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,因为内部返回仅从迭代器函数返回。