#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 />