设置页面的所有链接目标

Posted

技术标签:

【中文标题】设置页面的所有链接目标【英文标题】:Set all link targets for a page 【发布时间】:2011-02-19 08:57:44 【问题描述】:

我有动态生成的链接,我需要为所有链接设置目标。我怎么能用 javascript 做到这一点。我发现一些看起来应该可以使用 jQuery..

$("a").attr('target', '_top');

但我不想为此使用库,我想几行 javaScript 会处理它...我只是不知道如何编写它。

为了进一步阐明我在做什么,这些链接是使用 javaScript 和推荐引擎 ATG 生成的,我在需要突破的 iframe 中调用它。我想我需要的只是一种在 DOM 中定义所有链接的方法,它不必附加到特定的 id。是否可以将动态生成的属性附加到动态生成的链接?有可能构建自定义渲染,但我希望避免这条路线。

【问题讨论】:

【参考方案1】:

好吧,我找到了解决方案。抱歉,在提问之前我应该​​在这里做更多的搜索。

how-to-force-link-from-iframe-to-be-opened-in-the-parent-window

对我有用的是使用对象

<base target="_top" />

【讨论】:

【参考方案2】:

类似的东西

var anchorElements = document.getElementsByTagName("a");

for (var i = 0; i < anchorElements.length; i ++)

  anchorElements[i].setAttribute("target", "_top");

【讨论】:

【参考方案3】:

我自己通常是一个 jQuery 人,但你是正确的,这么小的一段代码不应该依赖于库。如果没有 jQuery,我的 JavaScript 可能有点生疏,但我认为应该这样做......

var anchors = document.getElementById('myDiv').getElementsByTagName('a');

for (var i = 0; i < anchors.length; i++) 
    anchors[i].setAttribute('target', '_top');

本示例假定您使用的 jQuery 选择器是您想要选择的。如果您不想使用 id 属性定位特定元素,只需删除 getElementById() 方法即可。

【讨论】:

谢谢,这看起来应该可以工作,但在我的情况下却不行……我编辑了我的帖子以更好地描述。

以上是关于设置页面的所有链接目标的主要内容,如果未能解决你的问题,请参考以下文章

Django学习---博客文章页面的超链接设置

HTML问题解决-退出登录后,页面只有部分刷新到登录界面

使用python查找链接页面到目标页面

突出显示单个页面的 wordpress 导航链接

点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数

在目标页面上创建一个自动填充字段的链接