Обернуть часть строки в теги HTML на основе позиции и длины - PullRequest
4 голосов
/ 28 мая 2011

Учитывая эту строку:

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 ]

3 голосов
/ 28 мая 2011
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 голос
/ 28 мая 2011

Концепция наиболее элегантного, вероятно, субъективна.

Большинство просто :

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);
1 голос
/ 28 мая 2011
str.substr(0, position) 
+ "<span>" 
+ str.substr(position, length) 
+ "</span>" 
+ str.substr(position + length, str.length)

Не уверен, что это то, что вы подразумеваете под элегантным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...