Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Вывод текста (https://javascript.ru/forum/jquery/13703-vyvod-teksta.html)

Spyver 10.12.2010 08:26

Вывод текста
 
Здравстуйте.Хочу попросить о помощи.
С javascript не знаком,еще только начинаю изучать,тоесть знаний практически нету.
У меня есть такой код:
<script language="javascript" type="text/javascript">
<!--
$(function cImg () {
    nNews = $("div[id*=news-id-]")
    nNews.each(function (i) {
    $(this).replaceWith("<div id='n-id-"+i+"' class='modnews'><div class='image load'></div>" + $(this).text() + "</div>");
    $(this).find("img").filter("img:first").unwrap().removeAttr("align").fadeIn(2000).prependTo("div[id='n-id-"+i+"'] div[class*=image]");
    $("div[class*=image]:empty").hide(2000);

    });
    });
//-->
</script>

Данный скрипт вытягивает из текста первую картинку,уменьшает ее и обрезает текст.Все прекрасно работает,Но... не сохраняет форматирование текста:без переносов строк ,все ссылки которые есть в тексте превращаются в простой текст даже без http:// ну и т.д.
Пробывал вместо
" + $(this).text() + "
(он отвечает за весь текст) прописать
" + $(this).html() + "
,так вместо текста дублировались картинки.
Подскажите, что в этом скрипте не то?

kadabrik 10.12.2010 23:37

Чувствуется неправильное понятие о работе функции text. Перед вызовом replaceWith следует предварительно удалить картинку из элемента, после чего использовать не .text() a .html()

Spyver 12.12.2010 09:43

Цитата:

Сообщение от kadabrik (Сообщение 83270)
Чувствуется неправильное понятие о работе функции text. Перед вызовом replaceWith следует предварительно удалить картинку из элемента, после чего использовать не .text() a .html()

И как мне это сделать? К тому же надо чтоб картинка сохранялась.

kadabrik 12.12.2010 17:39

Удаление первой картинки из элемента и сохранение ее в переменную "image":
image = $(this).find('img:first').remove();


А вообще не зная над какой html структурой работает скрипт сложно сказать что-то конкретное.


Часовой пояс GMT +3, время: 14:16.