当父元素也是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.
答案 0 :(得分:9)
试试这个:
$('#Messages div').each(function(index) {
alert($(this).text());
});
答案 1 :(得分:3)
也可以使用 - http://jsfiddle.net/TbS9z/
$("#Messages div").each(function(){
alert($(this).html());
})
答案 2 :(得分:0)
如果不考虑您的<br>
元素,您可以这样做:
var msgs = "";
$("#Messages div").each(function() {
msgs += $(this).text() + "\n";
});
alert(msgs);
http://jsfiddle.net/Xeon06/LWTrt/
这只会遍历div
中的所有#Messages
元素,并将它们添加到带有新行分隔符的字符串中。
答案 3 :(得分:0)
你需要在每一个之间加一个换行符。
您可以执行类似
的操作var msg = "";
$("Messages div").each(function(d) {
msg += "\r\n" + $(this).text();
}
msg = msg.substring(2); //to remove the first "\r\n"
或者,您可以在添加换行符之前检查长度,只有在已经有文本的情况下才能检查长度。
当然,如果您想在其他地方显示此文字(例如在其他html元素中),则应将\r\n
替换为<br />