我正在寻找使用jQuery将最后两个字符包装在<sup>的一段文本中。我可以做一个console.log返回要包装的文本,但是它永远不会被包装。我拥有的代码非常简单:

// get text of heading
var plansBlockHeading = $('.first .sub .one h4').text();

// filter to last 2 chars
var sup = plansBlockHeading.substr(plansBlockHeading.length-2);

// Wrap in a <sup></sup>
$(sup).wrap("<sup />");


我显然缺少简单的东西,但是我不确定是什么。有指针吗?

最佳答案

惯用的jQuery解决方案可能如下所示:

$('.first .sub .one h4').html(function(i, html) {
       // make sure there's no whitespace issues
    html = $.trim(html);
    return html.slice(0, -2) + "<sup>" + html.slice(-2) + "</sup>";
});


假设h4中没有HTML标记(真的只是最后一个问题)。

如果您有多个h4,这也可以正确处理。

10-05 20:35
查看更多