This是我在tr中找到文本的小提琴。
我用过
var reports = $('table#reports > tbody');
var tr1 = reports.find('tr:has(td:contains("First Name"))');
找到文本,但即使文本不存在,它仍然会警告它存在。要检查它是否存在,我创建了if
if (tr1) {
alert('exist');
} else {
alert('not');
}
答案 0 :(得分:1)
问题是.find()(事实上所有traversing methods)返回一个总是真实的jQuery对象,所以你的条件总是正确的。
如果要查看选择器是否找到任何匹配项,那么可以检查jQuery对象的length属性,该属性将给出选择器返回的dom元素引用的数量,因此如果没有匹配的元素,它将返回0
所以
if (tr1.length) {
alert('exist');
} else {
alert('not');
}
答案 1 :(得分:0)
检查tr1是否未定义且长度是否大于1