首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress修改了我的DOM结构?

WordPress修改了我的DOM结构?
EN

Stack Overflow用户
提问于 2011-09-21 06:03:42
回答 2查看 146关注 0票数 0

我做了一个WordPress插件,它创建了一个返回以下字符串的短代码:

代码语言:javascript
复制
<span class="video-link-box">
    <a class="video-link" href="http://www.youtube.com/watch?v={$videoid}">{$content}</a>
    <div class="video-box video-box-hidden">
        <a class="video-box-exit" href="javascript:void(0)"></a>
        <iframe width="{$width}" height="{$height}" src="http://www.youtube.com/embed/{$videoid}?enablejsapi=1" allowfullscreen></iframe>
        <aside>{$caption}</aside>
    </div>
</span>

然而,下面是Google chrome所说的它是如何呈现的。在我把它变成WordPress插件(static HTML、JS和CSS)之前,这是可行的。WordPress会导致我的JavaScript和样式表部分失败。发生了什么?我如何防止这种情况发生?

编辑: WordPress仍然在侵入性地添加p标签。上面的屏幕截图不再反映XHTML是如何呈现的,但是如何防止WordPress这样做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-21 06:27:46

您可以使用wpautop关闭Wordpress自动格式化功能(或者更好的方法是禁用该过滤器)。还有一个插件可以关闭每个帖子的自动格式化。

啊,我忘了WordPress也不使用HTML5。看起来我需要更改<aside>

不,你不需要,最新版本的Wordpress know about the HTML5-tags。但正如在另一个答案中提到的,wpautop-function还会检查块元素嵌套是否正确。

票数 0
EN

Stack Overflow用户

发布于 2011-09-21 06:09:26

<span>标记永远不能包含<div>。因为<span>是用于块内部格式化的内联元素,如<div><p>标记。内联元素永远不能包含块元素,Chrome正在尝试规范化您给它的无效标记。

要解决这个问题,您应该将video-link-box设置为div。也许你需要应用一些额外的格式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7492335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档