Выбрать текст внутри элементов, не включая теги
Здравствуйте, уважаемые форумчане. Форма блока на сайте, где выводится комментарий
<div class="comment"> Сам текст комментария </div> при нажатии кнопки "ответить" появляется форма коммента, к нему добавляется текст коммента, на который дается ответ в виде цитаты и основной текст ниже В итоге ответный комментарий имеет вид <div class="comment"> <q>Цитатка комментария, на который был дан ответ<hr><br></q> Сам текст сообщения </div> Дальше, если цитирую сообщение уже с цитатой, то берется весь текст вместе. Я же хочу сделать так, чтобы при ответе цитата, если она есть , отбрасывалась и подставлялся только текст комментария, как в первом случае. И уже получалось что-то вроде после ответа на коммент с цитатой: <div class="comment"> <q>Сам текст сообщения<hr><br></q> Ответ на ответ, лол </div> Тут узнаю родителя, затем текст дочернего элемента var parentComment2 = $(this).parent().children(".comment").text(); Нужно взять текст из блока, но отбросить цитату, если она есть, т.е. строку <q>Цитатка комментария, на который был дан ответ<hr><br></q> не брать Буду благодарен за помощь нубу) |
Кстати, само сообщение добавляется в базу данных с bb кодом, т.е. виде: [q]Цитата[/q][hr][]br]Текст сообщения
И выводится в блок div.comment. Все сложно там реализовано для меня через клоны формы т .д. , поэтому не могу придумать, как текст сообщения отдельно запихать в отдельный блок с классом. |
делай проверку на наличия в комментарии больше чем 1 цитата и удаляй первую, не ?
|
Цитата:
Наверное через регулярки, да? Хотя если я удалю цитату, то и в посте она удалится предыдущем. МНе же просто нужно исключить её из текста. |
TheDude,
вариант ... <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ var last = $(".comment")[0].lastChild; alert($(last).text()) }); </script> </head> <body> <div class="comment"> <q>Сам текст сообщения<hr><br></q> Ответ на ответ, лол </div> </body> </html> |
Спасибо большое!! Очень помогли)))
|
Только если там будет больше одной строчки - работать не будет.
Как-то так: <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ var $last = $(".comment").clone(); $last.find('q').remove(); alert( $last.text()); }); </script> </head> <body> <div class="comment"> <q>Сам текст сообщения<hr><br></q> Ответ на ответ, лол </div> </body> </html> |
И вам спасибо, но тот код прекрасно работает, если более 1 строчки)
|
TheDude, если там будет <br> - перестанет.
|
Часовой пояс GMT +3, время: 08:28. |