1

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

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

但它也会td在 a 的文本中返回具有 1 的 s td。需要明确的是,我试图<td>1</td>从下面给出的 html 中获取,但它一直返回所有这些tds。

<tr>
     <td>1</td>
     <td>This contains 1 as well</td>
     <td><td>And this one contains 1 as well</td>
</tr>

有什么方法可以强制它只返回那些td只包含1在其文本中的 s 而没有其他内容?

4

3 回答 3

1

使用.filter()

$('td').filter(function (i, el) {
    return this.innerHTML == '1';
}).css('background-color','blue');
于 2013-11-04T14:29:43.613 回答
0

有很多选项,过滤器等。

一种简单的方法是:

$('td').each(function (i, el) {
    if (el.innerHTML === '1') {
        // DO SOMETHING
        console.log('It has only a 1 in it');
    }
});
于 2013-11-04T14:27:07.997 回答
0

使用.map()

var selectors = $('tr td').map(function () {
    if (this.innerHTML == '1') {
        return $(this);
    }
});
//result: selectors is the td elements with text "1".
于 2013-11-04T14:34:02.230 回答