Добавление Javascript </ p> после первого слова абзаца (ошибка)

0

Мой последний вопрос пару недель назад был решен в stackoverflow, но он оставил мне другую проблему: javascript добавляет </p> после первого слова каждого абзаца в тексте, который переполняется в другой div. Пока я не могу найти решение или обходное решение.

Это сайт, это о разделе "Биография"

Вот код, который переполняет текст другому div:

var currentCol = $('.col:first');
var text = currentCol.html();
currentCol.text('');
text = text.replace(/ (?![^<>]*>)/gi, '%^%');
var wordArray = text.split('%^%');

$.fn.hasOverflow = function() {
    if($(this).attr('id')){
        var div= document.getElementById($(this).attr('id')); 
        return div.scrollHeight>div.clientHeight;
    }
};

for(var x=0; x<wordArray.length; x++){
    var word= wordArray[x];
        currentCol.append(word+' ');
        if (currentCol.hasOverflow()){
            if(!currentCol.hasClass('col2')){
                currentCol = currentCol.parent().parent().find(('.col2'));
        }
    }
} 

и здесь приведенное ранее решение переключиться с простого текста на html:

var wordArray=text.replace(/ (?![^<>]*>)/gi, ' ');

Я думаю, что проблема в этой строке, но я не могу понять, что это (aslo: я не эксперт по javascript)

Дополнительная информация: Код находится в нижней части файла php. Я использовал couch cms для cms, но я не думаю, что проблема.

Любая помощь будет принята с благодарностью :)

Теги:

1 ответ

0

Вы, кажется, используя <p> тег, как способы сделать пункты, так что если вы все еще хотите абзац, вы можете использовать <br><br> вместо этого в тексте фидера.

К сожалению, все, что я пытался добавить <span> просто автозаполнен </span>, поэтому, я думаю, вы могли бы попробовать установить шрифт тела, например

body {
font-family: sans-serif;
}

http://jsfiddle.net/Tt9sw/237/

  • 0
    Это cms, добавляющий теги <p> вокруг текста. Я пытался отредактировать их в <br/> но безуспешно. Однако удаление <p> и </p> в исходном тексте каким-то образом решает проблему (поэтому только с использованием <br/> ). Возможно, именно теги <p> внутри .col вызывают ошибку с couch. Это рабочее временное решение, спасибо за ваше предложение. (и, кстати, я не понизил ваш ответ)
  • 0
    Да, я имел в виду, что вы должны удалить свои <p> из исходного текста (как бы вы это ни называли), а затем добавить <br> <br>. Из того, что я пробовал, похоже, что проблема в том, что Javascript заканчивает ваши теги для вас, и я не знаю, как его отключить. Для записи я попробовал другой text.replace (), где я заменил случайные строки символов тегами <p>, и попытался сделать это с тегами <span>. Автозаполнение всегда было проблемой. Думаю, мне следовало добавить это к моему ответу. Может быть, я бы не понизился (j / k)?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню