我有这样的div:
<div id="slidecaption"> Some text here. Some other text </div>
我想从该div中提取文本,直到我达到&#34;。&#34;然后把它放在一个新的段落和#34;。&#34;之后的文本中。在另一段中。
答案 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>
假设唯一的点是句子末尾的句号