0

span文字ではなくクラス「データ」を使用して、表のセルの数字 (および数字のみ)をラップするにはどうすればよい$ですか?

HTML マークアップは次のとおりです。

<table>
    <tr>
        <th>Description</th>
        <th>Weight</th>
        <th>Views</th>
        <th>Cost</th>
    </tr>

    <tr>
        <td>Item description here</td>
        <td class="data">37 pounds</td>
        <td class="data">132 views</td>
        <td class="data">$99.59</td>
    </tr>
</table>
4

2 に答える 2

5

正規表現を使用して数字を一致させ、.でラップする必要がありspanます。

var rxp = new RegExp("([0-9]+\.?[0-9]+)", "gm");
$("td.data").each(function(){
    var $this = $(this);
    var content = $this.html();
    $this.html(content.replace(rxp, "<span>$1</span>"));
});

jsFiddle のテスト ケースを参照してください

于 2013-07-07T14:53:03.723 に答える
0

正規表現を使用できます:

var searchPattern = new RegExp(/^\d+$/, 'g');
$elem = $('td.data');
$elem.html($elem.html().replace(searchPattern , "<span>" + searchPattern  + "</span>"));

ここで、$elem は、検索対象の HTML 要素の jQuery オブジェクトです。つまり、クラス「data」を持つすべての TD です。

于 2013-07-07T14:51:42.183 に答える