如何根据类名和兄弟更改特定表格单元格的文本?

时间:2015-11-10 16:58:43

标签: javascript jquery html css siblings

我想使用jQuery根据兄弟标签中的类和文本重命名一些文本。例如,我尝试根据兄弟Sally Samantha.field1中的文字,在下面的HTML中将td重命名为421 })。

<table>
    <tbody>
        <tr class="adv-grid-row">
            <td class="adv-grid-cell description">Sally</td>
            <td class="adv-grid-cell units">Jibber</td>
            <td class="adv-grid-cell field8">Jabber</td>
            <td class="adv-grid-cell field1">421</td>
            <td class="adv-grid-cell part_number">433</td>
            <td class="adv-grid-cell field25">John</td>
        </tr>
        <tr class="adv-grid-row">
            <td class="adv-grid-cell description">Test</td>
            <td class="adv-grid-cell units">Each</td>
            <td class="adv-grid-cell field8">Part</td>
            <td class="adv-grid-cell field1">450</td>
            <td class="adv-grid-cell part_number">431</td>
            <td class="adv-grid-cell field25">Joe</td>
        </tr>
    </tbody>
</table>

这是我到目前为止所做的,但它不起作用:

$(".adv-grid-cell.field1 td:contains('421')").siblings(".adv-grid-cell.description").text('Samantha');

如果那不可能,我该如何寻找&#34; Sally&#34;使用td的课程并将其重命名为&#34; Samantha&#34;?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您的选择器不正确; .field1 包含文本的td。试试这个:

$(".adv-grid-cell.field1:contains('421')").siblings(".adv-grid-cell.description").text('Samantha');

Working example

值得注意的是:contains选择器匹配所提供的字符串在DOMElement的innerText中的任何位置,因此它将匹配421,{{1} }和a421z。如果您只需要匹配not 421 ,则需要使用421

filter()