忽略列中的链接

时间:2015-12-18 10:06:39

标签: jquery

我有一张桌子,我正在搜索其中的数据。我可以找到数据正常,但我使用.each迭代每一行。目前我正在使用text(),它返回行的每一列中的所有文本。我正在检查这个文本。

但是,我想忽略一行中的某些列。在这种情况下,如果列包含链接而不仅仅是文本。

如何更改我的代码以解决此问题?

<table class=table-name>
    ...
    <tbody>
        <tr>
            <td>Stuff I want to search</td>
            <td>Stuff I want to search</td>
            <td><a href="somelink.com" class="some-class">Link text I don't want to search</a></td>
        </tr>
        ...
    </tbody>
</table>

var row = $(".table-name").find("tbody").find("tr");
var input = 'Link text';

row.each(function() {
    if ( $(this).text().toLowerCase().indexOf(input) >= 0) {
        $(this).toggleClass("hide", false);
    } else {
        $(this).toggleClass("hide", true);
    }
});

2 个答案:

答案 0 :(得分:3)

您可以使用以下方法过滤掉文字:

$(this).children('td:not(:has(a))').text().toLowerCase().indexOf(input) >= 0

答案 1 :(得分:0)

您的var row = $(".table-name").find("tbody").find("tr"); var input = 'Link text'; row.children().each(function() { if ( $(this).text().toLowerCase().indexOf(input.toLowerCase()) >= 0) { $(this).toggleClass("hide", false); } else { $(this).toggleClass("hide", true); } }); 在行上,而不在列上。 此外,您还要小写文本,但使用混合大小写输入搜索...所以这样的东西可以改为......

// remote method, defined below
Post.SaveFull = function(title, 
        description,
        tags,
        imageUrl,
        cb) {

    var models = Post.app.Models; // provides access to your other models, like 'Tags'

    Post.create({"title": title, "description": description}, function(createdPost) {
         foreach(tag in tags) {
             // do something with models.Tags

         }
         // do something with the image

         // callback at the end
         cb(null, {}); // whatever you want to return
    })

}

Post.remoteMethod(
    'SaveFull', 
    {
      accepts: [
          {arg: 'title', type: 'string'},
          {arg: 'description', type: 'string'},
          {arg: 'tags', type: 'object'},
          {arg: 'imageUrl', type: 'string'}
        ],
      returns: {arg: 'Post', type: 'object'}
    }
);

https://jsfiddle.net/71mytwe0/1/