得到孩子div内容jquery

时间:2011-10-18 18:58:11

标签: 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. 

4 个答案:

答案 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 />