用子代替父母

时间:2014-05-08 09:10:31

标签: javascript jquery html

我有像这样的剪辑

<div class='wrapper'>
    <div class='head'/>
    <div class='content'>
        <div class='user'/>
        <span class='spam'/>
    </div>
</div>
<div class='wrapper'>
     <div class='head'/>
        <div class='content'>
        <div class='user'/>
        <p class='inner'/>
    </div>
</div>

并且我想要包含具有类垃圾邮件的子项的替换父项,因此它看起来像这样

<span class='spam'/>           
<div class='wrapper'>
    <div class='head'/>
        <div class='content'>
            <div class='user'/>
            <p class='inner'/>
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:0)

在更正HTML以使其生效后,您可以将.closest().replaceWith()一起使用:

$('span.spam').closest('div.wrapper').replaceWith('<span class="spam" />');

<强> Fiddle Demo

答案 1 :(得分:0)

试试这段代码:

$(document).ready(function() {
    $(".wrapper").each(function() {
        var spam = $(this).find(".spam");
        // check if spam element found and replace it with wrapper element
        if(null!=spam && spam .length > 0)
    {
      $(this).replaceWith(hasSpam);
    }
    });
});