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

怎样用js将一个div中所有p段落中的西文字符(字母,数字等)用一对span包裹起来

怎样用js将一个div中所有p段落中的西文字符(字母,数字等)用一对span包裹起来

侃侃尔雅 2018-08-04 10:05:27
比如我有如下html代码<div id="target">     <p>微软Windows 10操作系统</p></div>我希望js执行后把他变成这样<div id="target">     <p>微软<span class="myclass">Windows 10</span>操作系统</p></div>该如何实现呢?
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

function replaceTextWithSpanWrap(id, tagName, className) {

    Array.prototype

         .slice

         .call(document.getElementById(id).getElementsByTagName(tagName))

         .map(function(node) {

              node.innerHTML = node.innerHTML.replace(/[A-Za-z0-9\s]+/g, function(text) {

                  return '<span class="' + className + '">' + text + '</span>';

              });

          });

}

replaceTextWithSpanWrap('target', 'p', 'myclass');

https://img1.sycdn.imooc.com//5ba5fd890001f55804170377.jpg

查看完整回答
反对 回复 2018-09-22
  • 1 回答
  • 0 关注
  • 897 浏览
慕课专栏
更多

添加回答

举报

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