2013-03-03 76 views
2

因此,我已经为此搁置了一段时间,似乎无法绕开它。我有一些内容是通过wysiwyg编辑器添加的。我想要做的是使用<hr>元素在那里添加div来控制容器的外观。问题是它增加了结束div。我想添加结束div到下一个hr元素。将HR元素替换为打开Div

var firstChild = jQuery('.content-container-wrapper hr:first-child'); 
var lastChild = jQuery('.content-container-wrapper hr:last-child'); 
if (firstChild) { 
    jQuery(firstChild).replaceWith('<div class="working">'); 
}; 

有没有办法告诉浏览器不要添加结束div?

回答

0

这听起来像是你想要包装从第一次人力资源开始到最后一切结束的一切。

以下将包裹两个HR之间的所有内容,然后删除它们(我对您的问题的解释)。

var $start=jQuery('.content-container-wrapper hr:first-child'), 
    $end=jQuery('.content-container-wrapper hr:last-child'); 

$start.nextUntil($end).wrapAll('<div class="working">'); 
$start.add($end).remove(); 

您不能插入元素的一部分,然后插入你到底在文本编辑器的方式做

API参考:

http://api.jquery.com/wrapAll/

http://api.jquery.com/nextUntil/

+0

它是说Uncaught TypeError:Object [object Object]没有方法'替换' – Barrett 2013-03-03 23:52:00

+0

在jsfiddle.net中提供了一些样例html,将ge在那里工作。还可以使用更好的浏览器控制台来检查Firefox中的错误,Chrome或Firebug ......看起来像是一个IE错误,而其他浏览器则更具信息性 – charlietfl 2013-03-03 23:52:49

+0

看起来它在jsfiddle中工作。我想我有一个jQuery版本的问题。 http://jsfiddle.net/EvR9f/ – Barrett 2013-03-04 00:02:22