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-9http://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]);
    }
});

jsフィドル

于 2013-08-04T12:14:28.263 に答える