jq找到图像并删除下一个标签

时间:2013-03-11 20:17:39

标签: jquery

我有一个问题,其中wordpress给出了不应该的单独的p标签,将图像从段落中抛出而不是浮动它应该在哪里。

所以我得到

<p> <img /> </p> <p> TEXT </p>

而不是

<p> <img /> TEXT </p>.

这适用于1个主题应该如何,但不是在移动主题中,我不知道问题出在哪里,我认为让jq脚本找到它应该的图像会更容易(取决于src) )然后删除下一个</p><p>

3 个答案:

答案 0 :(得分:0)

正如@lbazemonger所说,需要更多代码来研究。

请记住,在wordpress中使用the_content()时,整个输出始终包含在

中。

并且,如果我没有弄错的话,那么你在wordpress中写的html也是事先逃脱的,所以你最终没有重复

我认为移动版本可能会发生类似的情况:

<p>
  <?php the_content();?>
</p>

答案 1 :(得分:0)

根据你的标记,你确实可以用jQuery实现你的目标。正如我在您的问题中所评论的那样,您可能希望以某种方式限制下面代码中使用的p > img选择器,除非您确实希望文档中的所有图像都能触发DOM更新。

也就是说,在包含图像的元素之后匹配contents() <p>元素的next(),然后在第一个元素下面reparenting它,然后删除第二个。

但是,由于删除元素不会破坏其后代树,因此在重新显示其内容之前,我们实际上可以remove()第二个<p>元素,这允许我们将整个操作链接到:

$(document).ready(function() {
    $("p > img").each(function() {
        var $p = $(this).parent();
        $p.next("p").remove().contents().appendTo($p);
    });
});

您可以在this fiddle

中测试上面的代码

答案 2 :(得分:0)

如果你将wordpress的输出卸载到div中,然后使用JQ操作html代码,该怎么办。