为了账号安全,请及时绑定邮箱和手机立即绑定

在元素中查找文本字符串并在其周围包裹一些span标记

在元素中查找文本字符串并在其周围包裹一些span标记

交互式爱情 2019-08-28 09:50:56
在元素中查找文本字符串并在其周围包裹一些span标记我想在元素中找到一串文本,并围绕它包裹一些span标签。例如从:<h2>We have cows on our farm</h2>至:<h2>We have <span class='smallcaps'>cows</span> on our farm</h2>我试过了:$("h2:contains('cow')").each(function() {  $(this).text().wrap("<span class='smallcaps'></span>");});但这只包装整个包含h2标签。
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

另一种方法,按关键字拆分并加入更新后的html。

$("h2:contains('cow')").html(function(_, html) {
   return html.split('cow').join("<span class='smallcaps'>cow</span>");});

注意:我没有对此进行过测试,但我认为这会比进行替换更糟糕,但是我会将其包含在内以供参考之用


查看完整回答
反对 回复 2019-08-28
?
慕标5832272

TA贡献1966条经验 获得超4个赞

这是@ undefined的答案的变体,它循环遍历一系列项目:

var barnyardArray = [
    'cow',
    'horse',
    'chicken',
    'hog',
    'goat',
    'goose',
    'duck',
    'llama'];$.each(barnyardArray, function (index, value) {
    $("p:contains(" + value + ")").html(function (_, html) {
        var regex = new RegExp(value, 'g');
        return html.replace(regex, '<span class="smallcaps">' + value + '</span>');
    });});


查看完整回答
反对 回复 2019-08-28
  • 3 回答
  • 0 关注
  • 592 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信