2014-10-24 6 views
1

У меня есть контент-доступный div и интервал с текстом внутри.ВставитьHTML в положение каретки без создания объекта

<div contenteditable="true"><span> Some text.. </span></div> 

Мне нужно вставить вместо закрывающих и открывающих тегов. Как:

<div contenteditable="true"><span> Some </span><span> text.. </span></div> 

Я попытался сделать его insertHTML:

document.execCommand('insertHTML', false, '</span><span>'); 

Он работает в Крома, но Firefox делает объект диапазона и вставить здесь (вставляет правильный HTML). Оказывается:

<div contenteditable="true"><span> Some <span></span> text.. </span></div> 

Кто-нибудь знает, как разделить метку span внутри contenteditable div? Заранее спасибо

+0

Итак, что вы действительно хотите отделить каждое слово от своего собственного тега ''? Вы согласны с использованием сторонних библиотек, таких как jQuery? –

+0

@TomasLycken, Ohhh. Я не хочу разделять каждое слово на '' теги. Это то, что мне нужно: http://jsfiddle.net/cwm3tbtu/, но это не работает в firefox. –

ответ

3

Вы можете просто использовать свойство innerHTML, чтобы вставить любой HTML-код, вот пример с использованием JavaScript:

document.getElementById("myDiv").innerHTML = "<span>Here is the new Content!</span>"; 

И дайте свой DIV id="myDiv".

+0

Мне нужно, чтобы карет остался в одном месте. В этом случае карет прыгает до конца –

+0

@ VasyaShmarovoz Я действительно не понимаю, что вы подразумеваете под этим, но вы также можете дать элементам span id и вставить текст с innerHtml внутри пролетов, если это то, что вы просите для? – sebbzzz

+0

@VasyaShmarovoz Да на самом деле, это недостаточно ясно, но вам просто нужно сначала поместить пустой div, где вы хотите добавить свой контент, и использовать innerHTML для его заполнения. –

 Смежные вопросы

  • Нет связанных вопросов^_^