jQuery:从div中提取文本并将其放在段落中

时间:2016-10-29 15:12:36

标签: jquery html css

我有这样的div:

<div id="slidecaption"> Some text here. Some other text </div>

我想从该div中提取文本,直到我达到&#34;。&#34;然后把它放在一个新的段落和#34;。&#34;之后的文本中。在另一段中。

2 个答案:

答案 0 :(得分:1)

使用所选对象的html()函数来获取内部HTML内容。 然后,假设格式一致,您可以将内容拆分为一个列表(由&#34;。&#34;或&#34;。&#34;分隔),遍历该列表。最后,使用jQuery&#34;&#34;追加&#34;将内容放在任何您想要的位置的方法。

注意:如果内容不一致(例如,第二个句点或嵌套HTML),则可能需要修改。但是对于你提供的例子,它应该可以正常工作。

var inner_content = $("#slidecaption").html()
var content_parts = inner_content.split(".");
for(idx in content_parts){
  new_content = "<p>" + content_parts[idx] + "</p>";
  inner_content.append(new_content) // Or wherever else you want to put it
};

答案 1 :(得分:0)

您可以使用jQuery html(function)并迭代按点分割的数组。

$('#slidecaption').html(function(_, existing) {
  return existing.trim().split('.').map(function(txt) {
    return txt.length ? $('<p>').text(txt + '.') : '';
  });
});
p {
  border: 1px solid #ccc;
  margin: 10px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="slidecaption">Some text here. Some other text.</div>

假设唯一的点是句子末尾的句号