Перенос части строки в HTML-теги на основе положения и длины

#javascript #html #string

#javascript #HTML #строка

Вопрос:

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

 var str = 'One two three four five';
  

и эти параметры:

 position: 8
length: 5
  

Я хотел бы перенести часть строки, которая начинается с заданной позиции и имеет заданную длину, в теги SPAN. В этом случае я хочу этот результат:

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

Как это можно сделать наиболее элегантно?


Обновление: Мое собственное решение здесь: http://jsfiddle.net/simevidas/XjbvN /

Ответ №1:

 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);
  

Ответ №2:

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

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

Ответ №3:

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

Просто:

 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. Да, я думаю, это способ сделать это… :)