【问题标题】:how to remove anchor tag from div which doesnt have any id or class using jquery?如何使用 jquery 从没有任何 id 或类的 div 中删除锚标记?
【发布时间】: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 看看它..

【问题讨论】:

  • 现在您是否尝试将元素保留在其中?锚

标签: jquery html wordpress css


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-10
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2015-08-14
    • 2019-03-08
    相关资源
    最近更新 更多