根据位置和长度在HTML标记中包装字符串的一部分

时间:2011-05-27 20:47:14

标签: javascript html string

鉴于此字符串:

var str = 'One two three four five';

和这个参数:

position: 8
length: 5

我想包装从给定位置开始并且在SPAN标记内具有给定长度的字符串部分。在这种情况下,我想要这个结果:

'One two <span>three</span> four five'

如何才能最优雅地完成这项工作?


更新:我自己的解决方案在这里:http://jsfiddle.net/simevidas/XjbvN/

3 个答案:

答案 0 :(得分:3)

var str = 'One two three four five';
var position = 8
var length = 5

var newstr=str.slice(0,position)+'<span>'+str.slice(position,position+length)+'</span>'+str.slice(position+length);

答案 1 :(得分:1)

str.substr(0, position) 
+ "<span>" 
+ str.substr(position, length) 
+ "</span>" 
+ str.substr(position + length, str.length)

不确定这是不是你所说的优雅...

答案 2 :(得分:1)

最优雅的概念可能是主观的。

大多数只是

var str = 'One two three four five';

var position = 8;
var length = 5;

var newStr = str.substr(0, position) + '<span>' + str.substr(position, length) + '</span>' + str.substr(position + length);