使用jQuery只绕数字换行

时间:2013-07-07 14:40:10

标签: jquery regex

如何使用“数据”类而不是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>

2 个答案:

答案 0 :(得分:5)

您需要使用Regular Expression来匹配这些数字并用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>"));
});

请参阅test case on jsFiddle

答案 1 :(得分:0)

您可以使用正则表达式:

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

其中,$ elem是您要搜索的HTML元素的jQuery对象,即所有带有“数据”类的TD。