使用 jquery 和
分割内容标记并把它放到另一个div中
我在 div 类“.category-info”中使用tinyMCE 输入了一些文本。可以使用 hr 标签分割文本。我想要做的是用 jQuery 分割文本并将文本的第二部分(在 hr 标签之后)包装到单独的 div 中。我的代码如下所示:
var str = $('.category-info').html();
var splitter = $(str.split('<hr>')[1]).html();
$(splitter).wrap('<div class="news-part" />');
当我警告变量拆分器时,它显示 html 内容(但是没有 p 标签就很奇怪,它就在 hr 标签之后),但它没有包装到 div 中。
I got with some text entered with tinyMCE in a div class'.category-info'. Text can be splited with hr tag. What I want to do is split the text with jQuery and wrap the second part of the text (after hr tag) into separate div. My code looks like this:
var str = $('.category-info').html();
var splitter = $(str.split('<hr>')[1]).html();
$(splitter).wrap('<div class="news-part" />');
When I alert variable splitter it shows html content (but what's weired without p tag which is right after hr tag) but it's not wrapped into div.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要在 hr 之后包装所有部分,我会执行如下操作,
DEMO
如果我理解正确的话,你想用
将
hr
之后的元素包装起来。然后尝试下面的代码,<一href="http://jsfiddle.net/skram/p4JFx/1/" rel="nofollow">演示
To wrap all part after hr, I would do something like below,
DEMO
If I understood correctly, you want to wrap the element after
hr
with<div class="news-part" />
.. Then try below code,DEMO
这将做你想做的事......
This will do what you want...
我遇到了类似的问题,在阅读这篇文章后找到了解决方案。这将在一个元素处分割内容,并用 div 包裹该元素之后的所有内容(直到下一个元素):
这仅在您有
元素时才有效。在每一项之前(包括开头的一项)。I had a similar problem which I found a solution to after reading this post. This will split content at an element and wrap everything after the element (up to the next one) with a div:
This will only work in your case when you have an
<hr>
element before each item (including one at the start).当您使用 $.wrap() 时,您应该将其附加到您想要换行的元素的选择器上。
我理解你的问题的方式,试试这个:
When you use $.wrap(), you should attach it to a selector of the element that you'd like to wrap.
The way I understand your problem, try this: