JQuery:contains()如果文本被标记包围,则不会选择它

时间:2012-03-16 15:36:58

标签: javascript jquery html css

我有这个JQuery脚本:

$('#searchinput').keypress(function() {
  $('#realadstable tr').show().not(':contains(' + this.value + ')').hide();
});

基本上它会过滤表格的行,只显示那些包含在输入字段#searchinput中输入的文字的行。

问题是此脚本看不到其他标记(如粗体文本)包围的文本,因此它可以隐藏包含必要文本的行,因为它被粗体标记包围。

我该如何解决? THX。

1 个答案:

答案 0 :(得分:2)

您可以使用filter功能:

$('#searchinput').keypress(function() {
    $('#realadstable tr').show().filter(function() {
        return $(this).text().indexOf(this.value) !== -1;
    }).hide();
});