使用 contains 在 tr td jquery 中查找特定文本

Find a specific text in tr td jquery using contains

This 是我在 tr.

中找到文本的 fiddle

我用过

var reports = $('table#reports > tbody');
var tr1 = reports.find('tr:has(td:contains("First Name"))');

查找文本,但即使文本不存在,它仍然会提醒它存在。为了检查它是否存在,我创建了一个 if

if (tr1) {
    alert('exist');
 } else {
    alert('not');
 }

问题是 .find()(infact all traversing methods) return 一个始终为真的 jQuery 对象,因此您的条件将永远为真。

如果您想查看选择器是否找到任何匹配项,那么您可以检查 jQuery 对象的长度 属性,它将给出 dom 元素引用的数量 return由选择器编辑,所以如果没有匹配的元素,它将 return 0

所以

if (tr1.length) {
    alert('exist');
} else {
    alert('not');
}

检查tr1是否未定义且长度大于1