Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery正在添加目标_blank未在新选项卡中打开_Javascript_Jquery - Fatal编程技术网

Javascript jQuery正在添加目标_blank未在新选项卡中打开

Javascript jQuery正在添加目标_blank未在新选项卡中打开,javascript,jquery,Javascript,Jquery,关于,我正在尝试使我的站点工作,以便在新选项卡中打开任何外部链接 上述问题的每个答案的jQuery都有效(这意味着当我使用Chrome或Safari的inspector时,我看到target=“\u blank”被添加到外部链接中,但单击链接本身不会在新选项卡或新窗口中打开 现代浏览器是否已经发生了变化,以至于这个功能不再有效?或者我是否错过了其他功能 更新:根据@hakam fostok的请求,以下是相关代码: JS: 链接(如Chrome inspector中所示): 更新2:我不确定这

关于,我正在尝试使我的站点工作,以便在新选项卡中打开任何外部链接

上述问题的每个答案的jQuery都有效(这意味着当我使用Chrome或Safari的inspector时,我看到
target=“\u blank”
被添加到外部链接中,但单击链接本身不会在新选项卡或新窗口中打开

现代浏览器是否已经发生了变化,以至于这个功能不再有效?或者我是否错过了其他功能

更新:根据@hakam fostok的请求,以下是相关代码:

JS:

链接(如Chrome inspector中所示):



更新2:我不确定这是否重要,但该应用程序是Rails 4.2.7.1,运行jQuery 2.2.4。

通常,如果要修改现有HTML元素的运行时属性,必须使用
prop
函数,而不是
attr
。请参阅文档

简单来说,区别在于
prop
设置HTML元素的相应属性,而
attr
仅设置属性值。属性值被指定为运行时属性的初始值

$(function() {
  $('a').prop('target', function() {
    if(this.host == location.host) return '_self'
    else return '_blank'
  });
});

请提供“anchor”html元素的完整版本好吗?这应该可以正常工作。请尝试使用
prop
而不是
attr
设置
目标。属性作为相应html元素实例的初始值。只是尝试了一下-它不起作用。仍然只是简单地打开了相同的属性Chrome和Safari中的窗口。然后请尝试创建一个JSFIDLE来复制您的问题,以便我们可以查看它。还请注意,浏览器可能会由于某些本地设置或情况而覆盖此设置。因此,要测试它,请尝试创建两个静态链接(不带
jQuery
)所以你可以看看它是否能工作。-当然,JSFIDLE也能工作。我想知道是Rails在某种程度上阻止了这一点吗?我想你的意思是在我的应用程序中创建一个“硬编码”
target=“\u blank”
链接。当我这样做时,是的,它能按预期工作。
<a href="http://espn.com" target="_blank">ESPN</a>
$(function() {
  $('a').prop('target', function() {
    if(this.host == location.host) return '_self'
    else return '_blank'
  });
});