我有一个函数,可以在表中扫描变量(keyID),然后选择包含该变量的表单元格。该变量当前定义为:

selectedTD = table.find('td:contains("' + keyID + '")');


但是,如果keyID = 10,则如果表单元格包含10、100、1010等,则selectTD将返回一个值。

如何使变量selectTD仅在keyID完全匹配而不是包含时才选择表单元格?

最佳答案

使用filter()将集合中的每个项目都传递给一个函数,如果应该包含该项目,则该函数返回true:

selectedTD = table
                .find('td')
                .filter(
                    function() {
                        return this.innerText === keyID
                    });


预计到达时间:
如果可以控制生成的HTML,建议您将keyID添加为data-属性,例如<td data-keyid="keyhere">。然后,您可以简单地使用$('td[data-keyid=' + keyID + ']')

10-06 09:56