猿问

用javascript / jQuery包装日期序号

我有一些这样的HTML结构:


<span class="time">Monday, December 24th</span>

<span class="time">Tuesday, December 25th</span>

<span class="time">Monday, December 31st</span>

我无法更改HTML输出。我想要的是将日期序号包装在标签中,以便可以使用CSS设置样式,因此它看起来像:


<span class="time">Monday, December 24<sup>th</sup></span>

<span class="time">Tuesday, December 25<sup>th</sup></span>

<span class="time">Monday, December 31<sup>st</sup></span>

我不能仅在字符串中查找/替换字符串,因为例如,如果有人输入“ Thursday,April 11th”,则单词“ Thursday”包含“ th”。因此,我必须解析每个字符串,找到数字,然后查看日期序号是否跟在它们后面,以便将其包装在<sup></sup>标签中。


这样的东西可以找到数字,但是我该如何包装接下来的两个字母而不是数字呢?


$('span.time').each(function() {

    $(this).html(function(i, v) {

      return v.replace(/(\d)/g, '<sup>$1</sup>');

    });

});

https://jsfiddle.net/8yao4rLu/


有任何想法吗?


交互式爱情
浏览 157回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答