1

我有一个现有的表,其中包含如下行:

<tr class="ds-table-row even">
<td class="label-cell">dc.date.updated</td>
<td class="value-cell">2012-06-13T11:28:48Z</td>
</tr>

<tr class="ds-table-row odd">
<td class="label-cell">DOI</td>
<td class="value-cell">10.1007/s10811-010-9649-9</td>
</tr>

<tr class="ds-table-row even">
<td class="label-cell">Volume</td>
<td class="value-cell">23</td>
</tr>

如果其值 = DOI,是否可以使用 jquery 将http://dx.doi.org/插入到它旁边的单元格中?在我的例子中,我想10.1007/s10811-010-9649-9变成http://dx.doi.org/10.1007/s10811-010-9649-9

提前致谢。

4

3 回答 3

1

定位所有.label-cell包含的元素DOI(对于完全匹配,您可以使用过滤器),获取下一个TD并通过将字符串添加http://dx.doi.org/到现有文本来更改文本:

$('.label-cell:contains(DOI)').next('td').text(function(_,txt) {
    return 'http://dx.doi.org/' + txt;
});

小提琴

于 2013-08-04T12:08:48.867 回答
0

.append()如果字符串等于“DOI”,您可以使用每个 TD

于 2013-08-04T12:08:59.070 回答
0

尝试这个:

$('td').each(function(index, value) {
    var td = $(this);
    if (td.html() == 'DOI') {
        var next = td.next();
        next.html('http://dx.doi.org/' + next.html().split('/')[0]);
    }
});

jsFiddle

于 2013-08-04T12:14:28.263 回答