3

我有一个 rss 小部件,它生成这些奇怪的 div,这些 div 会影响博客文章的布局。这些 div 围绕和图像,只有一段文本将其他应该环绕图像的段落向下推,创建了非常尴尬的空间块。

以下是现有标记的示例:

<div class="separator" style="clear: both; text-align: left;">
<a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" imageanchor="1" href="#" target="_blank">
<img width="320" height="214" border="0" src="http://3.bp.blogspot.com/-TIpzIZpEY50/TwEruI4XDlI/AAAAAAAAAXg/gIv3vafB3Sc/s320/December+2011+130.JPG">
</a>
and here is a bunch of text 
</div>

我想要做的是删除包装div 类分隔符并替换为其中的内容。这个 div 的每个实例都有不同的内容。

所以我尝试使用以下 jquery 脚本,但它不起作用,因为内容没有包含在子 div 中,所以这就是我卡住的地方:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){

$("div.separator").replaceWith(function() {
return $(this).contents();

});

谢谢你的帮助!

4

5 回答 5

1

http://jsfiddle.net/Sztzq/

 ('.separator').children(':first').unwrap();
于 2012-01-20T18:53:05.867 回答
1
$('div.seperator').each(function() {
  $(this).replaceWith($(this).children());
});
于 2012-01-20T18:53:18.233 回答
1

只需使用 jQuery 的.unwrap()方法:

$("div.separator").children(':first').unwrap();
于 2012-01-20T18:54:35.287 回答
1
$("div.separator").children().unwrap();
于 2012-01-20T18:59:40.143 回答
0

如果您只想删除它们,请使用$('div.separator').remove();.

要重新使用 div,请使用

$('div.separator').empty().html('<p>your custom html here</p>');

或者

$('div.separator').empty().append(yourExistingDOMElement);

取决于你用什么替换它。

为了解决所有这些问题,它变成:

$('div.separator').each(function () {
    $(this).empty().html(string); //or the append version.
});

希望这可以帮助,

皮特

于 2012-01-20T18:56:52.277 回答