选择仅包含“指定文本”的tds,而不使用jQuery

时间:2013-11-04 14:23:34

标签: javascript jquery html dom

有什么方法可以选择仅包含指定文本的td而没有其他内容?  我尝试过以下方法:

$("tr td:contains('1')")

但它也返回td的文本中{1}}的{​​{1}}。为了清楚起见,我试图从下面给出的html中获取td,但它会不断返回所有这些<td>1</td>

td

有什么方法可以强制它只返回那些只包含<tr> <td>1</td> <td>This contains 1 as well</td> <td><td>And this one contains 1 as well</td> </tr> 的{​​{1}}文字而不是其他内容?

3 个答案:

答案 0 :(得分:1)

使用.filter()

$('td').filter(function (i, el) {
    return this.innerHTML == '1';
}).css('background-color','blue');

答案 1 :(得分:0)

有很多选项,过滤器等。

一种简单的方法是:

$('td').each(function (i, el) {
    if (el.innerHTML === '1') {
        // DO SOMETHING
        console.log('It has only a 1 in it');
    }
});

答案 2 :(得分:0)

使用.map()

var selectors = $('tr td').map(function () {
    if (this.innerHTML == '1') {
        return $(this);
    }
});
//result: selectors is the td elements with text "1".