如何在具有<a> with a specific class?</a> </p>的<p>上使用.remove

时间:2012-11-30 01:39:40

标签: javascript jquery

以下是代码:

<p><a href="http://foo.com/foo.html"></a>
<a class="foo_blog" href="http://foo.com" target="_blank">bar</a>
:</p>

我想查找并删除任何<p>的{​​{1}}类,其中包含“foo_blog”类。

我无法控制HTML-it来自其他地方。

3 个答案:

答案 0 :(得分:3)

这应该这样做

$('p>a.foo_blog').remove();

答案 1 :(得分:2)

您没有指定锚元素是否必须是段落的直接子元素,或者可以在树的下方,因此这里有一些解决方案来涵盖这两种情况。这三个都适用于您展示的示例html。

$("p").has("a.foo_blog").remove();
// OR
$("a.foo_blog").closest("p").remove();
// OR
$("a.foo_blog").parent("p").remove();

第一个查找具有后代的所有段落元素,该后代是该类的锚点,并删除这些段落。

第二个找到锚点然后上升到最近的包含段落并将其删除。

当且仅当它是段落元素时,最后一个找到锚点并删除直接父元素。

请注意,当删除相关段落时,他们的子元素也将被删除。

(我使用的jQuery方法是相对自我解释的,但是有关它们的更多细节,你知道where to look。)

答案 2 :(得分:0)

$("a.foo_blog, p.foo_blog").remove();