1

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

所以我得到

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

代替

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

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

4

3 回答 3

0

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

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

应该是这样。

而且,如果我没记错的话,您在 wordpress 中编写的 html 也是预先转义的,因此您不会得到重复

.

我会假设移动版本可能会发生这样的事情:

<p>
  <?php the_content();?>
</p>
于 2013-03-11T20:26:43.827 回答
0

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

也就是说,将next()元素的contents()匹配到包含图像的元素之后,然后在第一个元素下重新设置它的父级,然后删除第二个元素,这很简单。 <p>

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

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

您可以在这个 fiddle中测试上面的代码。

于 2013-03-11T20:42:19.697 回答
0

如果您将 wordpress 的输出卸载到 div 中,然后使用 JQ 操作 html 代码会怎样。

于 2013-03-11T20:52:29.883 回答