我正在寻找使用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
,这也可以正确处理。