【发布时间】:2019-10-10 14:48:55
【问题描述】:
是否可以将页面上的所有 href 链接更改为在同一选项卡 (target_self) 上打开而不是目标空白。 约束:由于限制无法访问代码,需要一种方法来覆盖所有链接以在同一页面中打开,而不是在新页面中打开。
尝试了以下方法
var otherWindow = window.open();
otherWindow.opener = null;
和
$('a[target="_blank"]').each(function(){
$(this).removeAttr('target');
});
有没有办法定位所有链接?或者也许
【问题讨论】:
-
对于 .each 我总是使用 function(i,element) ...也许可以尝试 $(element).attr({'target':'_self'}) ...使用浏览器检查器查看如果你的 jquery 工作了
-
“无法访问代码” 和 “需要一种方法来覆盖所有链接” 似乎不一致,除非您正在编写浏览器扩展/用户脚本。你在哪里可以写代码?
-
@TedFitzpatrick jQuery 将元素绑定到
this所以 OP 的代码应该没问题 -
不需要
.each。removeAttr()将自动对所有选定的元素进行操作。$('a[target="_blank"]').removeAttr('target') -
您的代码适用于我:jsfiddle.net/barmar/uL5g98na/3 如果它在您的应用程序中不起作用,则必须打开新窗口。
标签: javascript jquery css