jquery - 删除任何具有 img 子级的段落标签,但不删除 img

标签 jquery dom expressionengine

我正在使用一个 CMS (ExpressionEngine),它将段落标签包裹在图像周围。我正在使用响应式图像(最大宽度:100%),并且由于我还在段落上定义宽度,因此它会导致问题。我想使用 jQuery 删除图像周围的段落标签。我还希望能够从图像中删除宽度和高度属性,因为这些属性不需要与 max-width:100% 结合使用。

以下是修改前的 HTML 示例:

<div class="content">
<p>Hello! This is text content in a blog post.</p>
<p><img src="hello.jpg" width="300" height="300" alt="Hello!" /></p>
<p>This is more text content in the blog pst.</p>
</div>

...这就是我想要的结果:

<div class="content">
<p>Hello! This is text content in a blog post.</p>
<img src="hello.jpg" alt="Hello!" />
<p>This is more text content in the blog pst.</p>
</div>

我可以将 ExpressionEngine 的字段格式从“XHTML”更改为“none”,但这需要发布内容的人编写我希望避免的 HTML。感谢您的帮助!

最佳答案

这应该可以满足您的要求:

$('p > img').removeAttr('height').removeAttr('width').unwrap();

这适用于 <img>包裹在 <a> :

$('p > a > img').removeAttr('height').removeAttr('width').parent().unwrap();

关于jquery - 删除任何具有 img 子级的段落标签,但不删除 img,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9591069/

相关文章:

php - 您将如何测试表达式引擎中的模块是否有错误?

javascript - ExpressionEngine 渲染带有 { } 括号的 JS 代码

javascript - 模态下拉列表

javascript - 哪个文件先下载? CSS 或 JS

jquery - 如何使用固定容器滚动 div 文本?

java - 从 SAX 或 Dom 中的 XML 读取元素内部的元素

javascript - 如果我不需要结果列表中 CSS 选择器的粒度,我为什么要在 "live"NodeList 上使用静态 NodeList/HTMLCollection?

javascript - 是否可以在主服务器以外的另一台服务器上安装 ExpressionEngine 管理界面?

javascript - 负边距的盲注

javascript - jQuery $.post 返回对象长度 : 0