查找并替换div中的所有元素

时间:2015-03-10 21:15:02

标签: jquery

我有一个带有奇怪标签的元素数字

<div id="text"><div class="medium-insert-embeds" contenteditable="false">
    <figure>
        <div class="medium-insert-embed">
            <div style="left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 75.0019%;"><iframe src="https://www.youtube.com/embed/MYxsDlpMN10?wmode=transparent&amp;rel=0&amp;autohide=1&amp;showinfo=0&amp;enablejsapi=1" frameborder="0" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" style="top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;"></iframe></div>
        </div>
    </figure>
    <div class="medium-insert-embeds-overlay"></div>
</div><p class=""><br></p><p class=""><br></p><div class="medium-insert-embeds" contenteditable="false">
    <figure>
        <div class="medium-insert-embed">
            <div style="left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 75.0019%;"><iframe src="https://www.youtube.com/embed/MYxsDlpMN10?wmode=transparent&amp;rel=0&amp;autohide=1&amp;showinfo=0&amp;enablejsapi=1" frameborder="0" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" style="top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;"></iframe></div>
        </div>
    </figure>
    <div class="medium-insert-embeds-overlay"></div>
</div><p><br></p></div>

我想找到所有这些元素,并使用jquery将它们替换为内容。

var container = $('#text');
var htmlOfFirstFigure = container.find('figure').html(); //get html
container.find('figure').replaceWith(htmlOfFirstFigure); //replacing element

如果只有一个数字元素在html中,它可以正常工作。但如何取代无用的元素?

1 个答案:

答案 0 :(得分:2)

replaceWith可以给一个函数参数,它会在集合中的每个元素上调用该函数,并将其替换为结果:

container.find('figure').replaceWith(function() {
    return $(this).html();
});