我有<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中做到这一点?
答案 0 :(得分:6)
未经测试,这应该可行
var myDiv = document.querySelector('#myDiv');
myDiv.innerHTML = myDiv.innerHTML.split(' ').map(function(word){
return "<b>"+word+"</b>";
}).join('');
答案 1 :(得分:2)
另一种方式
$('#myDiv').html(function (i, html) {
return '<b>' + html.trim().replace(/(\s+)/g, '</b>$1<b>') + '</b>'
})
演示:Fiddle
答案 2 :(得分:1)
简单的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;
答案 3 :(得分:1)
这是我的解决方案。我将输出放在xmp
标记内,以便您可以看到输出。
var myDiv = $("#myDiv").html();
$('#output').html(myDiv.replace(/\s*(.+?)\s/g, "<b>$1</b>"));
&#13;
<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>
&#13;