使用 jquery 如何删除锚标记 <a> 但保留内容?

Posted

技术标签:

【中文标题】使用 jquery 如何删除锚标记 <a> 但保留内容?【英文标题】:Using jquery How can I remove the anchor tag <a> but keep the contents? 【发布时间】:2012-03-15 13:39:16 【问题描述】:

这是我要删除但保留 innerhtml 的行。

&lt;H3 style="TEXT-ALIGN: justify" class="ms-standardheader ms-WPTitle"&gt;&lt;A accessKey=W href="/Lists/CACSurveys"&gt;&lt;NOBR&gt;&lt;SPAN&gt;My Open Surveys&lt;/SPAN&gt;&lt;SPAN id=WebPartCaptionWPQ1&gt;&lt;/SPAN&gt;&lt;/NOBR&gt;&lt;/A&gt;&lt;/H3&gt;

最终结果应如下所示:

&lt;H3 style="TEXT-ALIGN: justify" class="ms-standardheader ms-WPTitle"&gt;&lt;NOBR&gt;&lt;SPAN&gt;My Open Surveys&lt;/SPAN&gt;&lt;SPAN id=WebPartCaptionWPQ1&gt;&lt;/SPAN&gt;&lt;/NOBR&gt;&lt;/H3&gt;

原因是 SharePoint 不允许我有没有链接的 Web 部件标头。提前致谢!

【问题讨论】:

【参考方案1】:

您可以使用jQuery选择锚标记&lt;a&gt;,然后将其父级的内容替换为自己的内容。这将摆脱锚标签并保留其他所有内容:

​$(function() 
    $('h3 a').each(function() 
        $(this).parent().html($(this).html());         
    );
);​

实际操作中:http://jsfiddle.net/natecook/JTsKY/

【讨论】:

我最终使用了$('h3.ms-WPTitle &gt; a').replaceWith(function() return this.innerHTML; );【参考方案2】:

嗯...你可以使用unwrap():

$('h3 a').children().unwrap();

【讨论】:

【参考方案3】:

试试这个

 $('.ms-WPTitle').find('span').each(function()

     $(this).unwrap();

 );

希望对你有帮助

【讨论】:

【参考方案4】:

我最终使用了

$('h3.ms-WPTitle &gt; a').replaceWith(function() return this.innerHTML; );

【讨论】:

以上是关于使用 jquery 如何删除锚标记 <a> 但保留内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 识别具有 data-href 属性的锚标记

如何在jquery中找到第一行第一个锚标记?

当锚标记仅触发 jQuery 操作而不重定向用户时,替代 <a href="#">?

使用 JavaScript/jQuery 将 URL 保存在锚标记中?

获取 JQuery 数据表单元格内锚标记的文本值

连接href值和jquery导致锚标记的href