jquery - 禁用页面上所有目标 ="_blank"链接

标签 jquery hyperlink preventdefault

我正在为通过 PhoneGap 移动应用中的 iframe 显示的网站构建内容。内容是从 CMS 中提取的,该 CMS 也为主网站提供内容,因此它混合了内部链接和 target="_blank"链接。

处理 target="_blank"链接在 PhoneGap 中被证明是有问题的,因此我想在应用程序网站中禁用它们而不触及内容,因为它也在主网站上使用。

我需要的是在页面加载时运行的 jQuery,查找具有 target="_blank"属性的所有链接并使链接成为普通文本。

这样的东西( How to disable all links before load jQuery? )会禁用所有链接,但我只想禁用具有 target="_blank"属性的链接,并且我想隐藏这些单词首先是链接的事实:

var links = document.links;
for (var i = 0, length = links.length; i < length; i++) {
    links[i].onclick = function(e) {
        e = e || window.event;
        e.preventDefault();
    }
}

所以我不想简单地在链接点击时阻止Default(),而是在保留链接文本的同时完全删除链接,并且我只想将其应用于 target="_blank"链接。

最佳答案

$('a[target="_blank"]').each(function(){
   $(this).removeAttr('href');
});

或者如果您想完全删除a标签

$('a[target="_blank"]').each(function(){
   $(this).replaceWith($(this).text());
});

http://jsfiddle.net/mohammadAdil/kZqFD/

关于jquery - 禁用页面上所有目标 ="_blank"链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355100/

相关文章:

javascript - 想在某个单词后拆分字符串?

jquery - 网站上用于展示产品的 CSS 问题

javascript - 下拉列表中的keydown事件

email - 通过单击链接(来自电子邮件)运行本地 exe

javascript - Highchart.js 在纯 IE8 中无法正常工作

java - Struts2 jQuery 插件 : trigger link on double click

javascript - 无法选择 <nav> 标签内的链接并应用 javascript

javascript - JS .preventDefault 不起作用

javascript - 如何阻止浏览器默认输入验证?

javascript禁用文本选择但允许拖动