如何用jQuery判断指定nth-child的<td>中是否包含指定文本?
解决:判断指定表格单元格是否包含特定文本并返回布尔值
你现在遇到的问题是因为你写的jQuery代码返回的是一个jQuery对象集合,而不是布尔值,所以alert出来会显示[object] [object]。下面给你两种简单的解决方式:
方法一:通过元素集合长度判断
jQuery选择器返回的是匹配元素的集合,我们只需要判断这个集合的长度是否大于0——如果大于0,说明找到了包含目标文本的元素,结果为true;否则为false。
代码示例:
const hasNewScheduling = $(".ms-formtable tr:nth-child(7) td:nth-child(2):contains('New Scheduling')").length > 0; alert(hasNewScheduling); // 弹出 true 或 false
方法二:使用jQuery的is()方法(更直观)
is()方法可以直接检查匹配的元素是否符合指定的条件,返回值就是布尔值,可读性更强:
代码示例:
const hasNewScheduling = $(".ms-formtable tr:nth-child(7) td:nth-child(2)").is(":contains('New Scheduling')"); alert(hasNewScheduling); // 弹出 true 或 false
补充说明
对照你提供的HTML结构,第7个<tr>的第二个<td>确实包含“New Scheduling”,所以上面的代码会弹出true;如果文本不存在,则会弹出false。
内容的提问来源于stack exchange,提问作者James123
相关产品推荐
相关产品推荐

