получить содержимое дочернего подразделения jquery

#jquery #html

#jquery #HTML

Вопрос:

Как мне получить содержимое дочерних элементов DIV, если родительский элемент также является DIV. Я хочу новую строку для каждого дочернего содержимого. Вот HTML, который у меня есть.

 <div id="Messages">
   <div class="MessageNew">This is test message </div><br>
   <div class="Message">Thank you ... </div><br>
   <div class="Message">Third test message. </div><br>
</div>
  

Это то, что я пробовал

    var msgs = $("#Messages").text();
  

Я получаю этот вывод

 This is test message Thank you ... Third test message. 
  

Это то, что я хочу

 This is test message 
Thank you ... 
Third test message. 
  

Ответ №1:

Попробуйте это:

 $('#Messages div').each(function(index) {
   alert($(this).text());
});
  

Ответ №2:

также можно использовать — http://jsfiddle.net/TbS9z /

    $("#Messages div").each(function(){
        alert($(this).html());
    })
  

Ответ №3:

Без учета ваших <br> элементов вы могли бы сделать это:

 var msgs = "";
$("#Messages div").each(function() {
    msgs  = $(this).text()   "n";
});
alert(msgs);
  

http://jsfiddle.net/Xeon06/LWTrt/

Это просто перебирает все div элементы внутри #Messages и добавляет их в строку с новым разделителем строки.

Ответ №4:

Вам нужно поместить разрыв строки между каждым из них.

Вы могли бы сделать что-то вроде

 var msg = "";
$("Messages div").each(function(d) {
    msg  = "rn"   $(this).text();
}
msg = msg.substring(2); //to remove the first "rn"
  

С другой стороны, вы можете проверить длину перед добавлением новой строки и делать это только в том случае, если текст уже есть.

Конечно, если вы хотите отобразить этот текст в другом месте (например, внутри другого элемента html), вам следует заменить rn на <br />