2014-03-19 43 views
1

我正在使用jquery从p元素中提取文本。我遇到的问题是当我提取文本时它不保留换行符。提取文本的格式

这里是我使用

$('div.post-content p').text(); 

有格内的多个p标签,所以我想将它们保存在自己的类的代码。

例如,每个句子是不同的p标签,并且显示如下:某些文本。一些其他文字。一些更多的文字。

我希望它看起来像这样:

一些文字。

其他一些文字。

一些更多的文字。

在此先感谢。

+0

使用HTML()你可以拥有所有标签,但是可以使用HTML。你有可能吗? – user3401335

+0

我只需要文本而不是标签,但希望保留换行符,以便保留每个p标签都是自己的段落的事实。 – Brendan

回答

1

jsFiddle Demo

每个段落将会本身是自己的领域。你可能想保持这种分离的程度。你可以做到这一点使用.each

var paragraphs = []; 
$('div.post-content p').each(function(){ 
paragraphs.push($(this).text()); 
}); 

如果你希望把这些结合在一起将它们存储在一个数组,表示在单P标签,你可以再后来做

$("#result").html(function(){ 
return paragraphs.join("<br>"); 
}); 
+0

这个作品谢谢! – Brendan

1

要保留HTML元素,您需要使用.html()方法而不是文本方法。因为文本只会检索文本而不是边距和填充。

对于您可以使用此:

$('div.post-content p').html(); 
+0

我试过了,但它给了我附带标签的文本,有没有办法删除标签,但给行换行符? – Brendan

+0

您可以尝试类似的方法,获取每个段落的文本,然后在它们之间添加几行换行符! :) –