如何使用 jquery 从没有任何 id 或类的 div 中删除锚标记?

Posted

技术标签:

【中文标题】如何使用 jquery 从没有任何 id 或类的 div 中删除锚标记?【英文标题】:how to remove anchor tag from div which doesnt have any id or class using jquery? 【发布时间】:2013-05-25 12:03:59 【问题描述】:

My demo here

我有代码来删除带有 id 或 class 的标签..但在这种情况下,锚标签是由 wordpress 作为附件生成的,它没有任何 id、class

锚标签看起来像这样

<a rel="attachment wp-att-107 slb_group[344] slb slb_internal" 
href="http://santasrecipies.com/myntra-model-5/4783157717_21b8d7199a_b/" >

Jquery 尝试了

$('#link').parent().text($('#link').text()).removeChild($('#link'));

但是这个函数需要锚标签的类或id,这里没有……

结构是

<div id="imgContnr">
    <a>
  <div><img></div>
    </a>
</div>

我想删除 id 为 imgContnr 的 div 内的锚标记

我通过制作pointer-events:none; 来使用css,但它会影响所有不正确的锚标签.. 不知何故,我希望它发生使用 jquery ..Plz 看看它..

【问题讨论】:

现在您是否尝试将元素保留在其中?锚 【参考方案1】:

试试这个:

$("#imgContnr a").remove();

这将删除父级为imgContnr 的锚标记。

编辑

抱歉,我误解了您想要实现的目标。虽然 Just-lewis 的答案很完美,但我还是会发布我的替代答案。这段代码的工作原理相同,只是它更短

$(".imgContnr").find("div").unwrap(); 

【讨论】:

谢谢@jude ..但是我想要那个锚标签之后的内容..所以这个nt有用 我误解了你的问题。无论如何,我已经更新了我的答案..:) 我从未使用过 unwrap() 将签入并添加到我的武器库中【参考方案2】:

如果您将标签全部删除,Jude 是正确的,但如果您尝试将元素保留在其中,则如下所示:

jsFiddle

$("#imgContnr>a").each(function()
   keeping = $(this).html();
   $(keeping).insertAfter($(this))
   $(this).remove()

);

Heres your demo edited

【讨论】:

以上是关于如何使用 jquery 从没有任何 id 或类的 div 中删除锚标记?的主要内容,如果未能解决你的问题,请参考以下文章

简单的 HTML DOM 解析器 - 抓取没有 id 或类的 html 内容

JQuery:如何从没有根元素的 HTML 数据中按类名获取 div

使用jQuery,如何删除没有ID或类名的select选项?

更改 id 或类时单击事件不起作用

如何从没有ID的表中删除重复(重复)记录,行[重复]

Pygame - 没有 Sprite 或类的子弹和敌人碰撞