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

比如我有如下html代码

<div id="target">
    <p>微软Windows 10操作系统</p></div>

我希望js执行后把他变成这样

<div id="target">
    <p>微软<span class="myclass">Windows 10</span>操作系统</p></div>

该如何实现呢?


侃侃尔雅
浏览 898回答 1
1回答

智慧大石

function replaceTextWithSpanWrap(id, tagName, className) {&nbsp; &nbsp; Array.prototype&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.slice&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.call(document.getElementById(id).getElementsByTagName(tagName))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.map(function(node) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; node.innerHTML = node.innerHTML.replace(/[A-Za-z0-9\s]+/g, function(text) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return '<span class="' + className + '">' + text + '</span>';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });}replaceTextWithSpanWrap('target', 'p', 'myclass');
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript