我有一个问题,wordpress 在不应该的地方给出单独的 p 标签,将图像从段落中抛出,而不是在应该的地方浮动。
所以我得到
<p> <img /> </p> <p> TEXT </p>
代替
<p> <img /> TEXT </p>.
这在 1 主题中应该如何工作,但不适用于移动主题,我不知道问题出在哪里,我认为让 jq 脚本找到它应该的图像会更容易(取决于 src)然后删除下一个</p>
和<p>
。
我有一个问题,wordpress 在不应该的地方给出单独的 p 标签,将图像从段落中抛出,而不是在应该的地方浮动。
所以我得到
<p> <img /> </p> <p> TEXT </p>
代替
<p> <img /> TEXT </p>.
这在 1 主题中应该如何工作,但不适用于移动主题,我不知道问题出在哪里,我认为让 jq 脚本找到它应该的图像会更容易(取决于 src)然后删除下一个</p>
和<p>
。
正如@lbazemonger 所说,需要研究更多代码。
请记住,在 wordpress 中使用 the_content() 时,整个输出始终包含在
应该是这样。
而且,如果我没记错的话,您在 wordpress 中编写的 html 也是预先转义的,因此您不会得到重复
.我会假设移动版本可能会发生这样的事情:
<p>
<?php the_content();?>
</p>
根据您的标记,您确实可以使用 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中测试上面的代码。
如果您将 wordpress 的输出卸载到 div 中,然后使用 JQ 操作 html 代码会怎样。