从某些类周围删除封闭的P标记

时间:2015-09-02 18:34:35

标签: jquery

我正在尝试删除包含.cta类的任何元素周围的<p>标记的任何实例。

例如:

<p><a href="#" class="cta">test</a></p>

<a href="#" class="cta">test</a>

我现在正在使用下面的代码,但它正在从我的侧边栏中删除所有P标记,我只是试图使jquery仅包含目标

标记的.cta元件。

jQuery('.sidePanel p').contents().unwrap();

3 个答案:

答案 0 :(得分:2)

要打开元素周围的任何元素,使用cta类定位元素并调用.unwrap()

jQuery('.cta').unwrap();

由于您只担心.cta的任何其他元素周围的元素,因此特定元素选择器无关紧要。

修改

根据最新评论,您需要向jQuery选择器添加一个额外的类,以将搜索限制在侧边栏:

jQuery('.sidePanel .cta').unwrap();

答案 1 :(得分:1)

你非常接近!只需要在unwrap上调用a,您就不需要调用contents。这是最后一个示例:

jQuery('.sidePanel .cta').unwrap();

快速现场演示,您可以检查元素

jQuery('.cta').unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><a href="#" class="cta">test</a></p>

答案 2 :(得分:1)

试试这个:

jQuery('.sidePanel .cta').unwrap();

而不是

jQuery('.sidePanel p').contents().unwrap();