Мы пишем веб-приложение, которое использует Javascript / jQuery.Это вовлекает пользователей, заполняющих отдельные слова в большой блок текста, вроде Mad Libs.Мы создали своего рода формат HTML, который мы используем для написания большого блока текста, которым мы затем манипулируем с помощью jQuery, когда пользователь заполняет его.
Часть блока текста может выглядеть следующим образом:
<span class="fillmeout">This is a test of the <span>NOUN</span> Broadcast System.</span>
Учитывая эту разметку, мне нужно отдельно извлекать текст и манипулировать им до и после внутреннего <span>
;мы называем их «префикс» и «суффикс».
Я знаю , что вы не можете проанализировать HTML с помощью простой манипуляции со строками , но я все равно попробовал;Я пытался использовать split()
для тегов <span>
и </span>
.Это казалось достаточно простым.К сожалению, Internet Explorer переводит все HTML-теги в верхний регистр, поэтому такая техника не работает.Я мог бы написать специальный случай, но ошибка научила меня делать это правильно.
Я знаю, что мог бы просто использовать дополнительные HTML-теги для ручного обозначения префикса и суффикса, но это кажется уродливым и избыточным;Я хотел бы, чтобы наш формат разметки был как можно меньше и удобнее для чтения и записи.
Я просмотрел документы jQuery и не могу найти функцию, которая делает именно то, что мне нужно.В есть все виды функций для добавления материала до и после, вокруг и внутри элементов, но я не могу найти для извлечения того, что уже есть.Я мог бы удалить внутреннюю <span>
, но тогда я не знаю, как определить, что было до удаленного элемента, кроме того, что было после него.
Есть ли "право""способ сделать то, что я пытаюсь сделать?