Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.10.2014, 16:14
Интересующийся
Отправить личное сообщение для TheDude Посмотреть профиль Найти все сообщения от TheDude
 
Регистрация: 24.05.2014
Сообщений: 25

Выбрать текст внутри элементов, не включая теги
Здравствуйте, уважаемые форумчане. Форма блока на сайте, где выводится комментарий
<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> не брать

Буду благодарен за помощь нубу)
Ответить с цитированием
  #2 (permalink)  
Старый 11.10.2014, 16:21
Интересующийся
Отправить личное сообщение для TheDude Посмотреть профиль Найти все сообщения от TheDude
 
Регистрация: 24.05.2014
Сообщений: 25

Кстати, само сообщение добавляется в базу данных с bb кодом, т.е. виде: [q]Цитата[/q][hr][]br]Текст сообщения
И выводится в блок div.comment. Все сложно там реализовано для меня через клоны формы т .д. , поэтому не могу придумать, как текст сообщения отдельно запихать в отдельный блок с классом.
Ответить с цитированием
  #3 (permalink)  
Старый 11.10.2014, 16:58
Аватар для utb
utb utb вне форума
Аспирант
Отправить личное сообщение для utb Посмотреть профиль Найти все сообщения от utb
 
Регистрация: 26.10.2011
Сообщений: 94

делай проверку на наличия в комментарии больше чем 1 цитата и удаляй первую, не ?
Ответить с цитированием
  #4 (permalink)  
Старый 11.10.2014, 17:04
Интересующийся
Отправить личное сообщение для TheDude Посмотреть профиль Найти все сообщения от TheDude
 
Регистрация: 24.05.2014
Сообщений: 25

Сообщение от utb Посмотреть сообщение
делай проверку на наличия в комментарии больше чем 1 цитата и удаляй первую, не ?
Напиши код, если не сложно) Не совсем догоняю)
Наверное через регулярки, да?
Хотя если я удалю цитату, то и в посте она удалится предыдущем. МНе же просто нужно исключить её из текста.

Последний раз редактировалось TheDude, 11.10.2014 в 17:35.
Ответить с цитированием
  #5 (permalink)  
Старый 11.10.2014, 17:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

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>
Ответить с цитированием
  #6 (permalink)  
Старый 11.10.2014, 17:56
Интересующийся
Отправить личное сообщение для TheDude Посмотреть профиль Найти все сообщения от TheDude
 
Регистрация: 24.05.2014
Сообщений: 25

Спасибо большое!! Очень помогли)))
Ответить с цитированием
  #7 (permalink)  
Старый 11.10.2014, 18:22
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

Только если там будет больше одной строчки - работать не будет.

Как-то так:
<!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>
__________________
29375, 35

Последний раз редактировалось Aetae, 11.10.2014 в 18:32.
Ответить с цитированием
  #8 (permalink)  
Старый 11.10.2014, 18:59
Интересующийся
Отправить личное сообщение для TheDude Посмотреть профиль Найти все сообщения от TheDude
 
Регистрация: 24.05.2014
Сообщений: 25

И вам спасибо, но тот код прекрасно работает, если более 1 строчки)
Ответить с цитированием
  #9 (permalink)  
Старый 11.10.2014, 19:35
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

TheDude, если там будет <br> - перестанет.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46
прогкрутка к якорям cOAPerator Общие вопросы Javascript 20 27.08.2013 03:30
нужно заставить одновременно работать слайдер и модальное окно обратной связи kvant355 Javascript под браузер 3 22.07.2013 16:34
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03