如何使用 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