2011-10-18 36 views
2

当父元素也是DIV时,如何获取子DIV元素的内容。我想为每个孩子的内容添加新行。这是我的HTML。获取子div的内容jquery

<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. 

回答

9

试试这个:

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

不考虑你的<br>元素,你可以这样做:

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

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

这只是经过内#Messages所有div元素,并将它们添加到新的字符串行分隔符。

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