繁体   English   中英

javascript - 用html标签替换所有空格以包含剩余的单词

[英]javascript - replace all white spaces with html tags to enclose remaining words

我有这个<div>

<div id="myDiv">
orange green, yellow
magenta/23 black: "brown"
</div>

我想用html标签替换所有空格以包含剩余的单词,
例如( <b>标签):

<div id="myDiv">
<b>orange</b><b>green,</b><b>yellow</b>
<b>magenta/23</b><b>black:</b><b>"brown"</b>
</div>


有没有办法在javascript或jquery中做到这一点?

没有测试,这应该工作

var myDiv = document.querySelector('#myDiv');

myDiv.innerHTML = myDiv.innerHTML.split(' ').map(function(word){
    return "<b>"+word+"</b>";
}).join('');

其他方式

$('#myDiv').html(function (i, html) {
    return '<b>' + html.trim().replace(/(\s+)/g, '</b>$1<b>') + '</b>'
})

演示: 小提琴

简单的JS方法:

var words = document.getElementById('myDiv').innerHTML.split(' ');
var output = "";
for(var i = 0; i < words.length; i++) {
    output += '<b>' + words[i] + '</b>';
}

document.getElementById('res').innerHTML = output;

在这里看到: http//jsfiddle.net/4dnp3t81/

我的解决方案。 我将输出放在xmp标签内,以便您可以看到输出。

 var myDiv = $("#myDiv").html(); $('#output').html(myDiv.replace(/\\s*(.+?)\\s/g, "<b>$1</b>")); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="myDiv"> orange green, yellow magenta/23 black: "brown" </div> <xmp id="output"></xmp> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM