设置页面的所有链接目标
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()
方法即可。
【讨论】:
谢谢,这看起来应该可以工作,但在我的情况下却不行……我编辑了我的帖子以更好地描述。以上是关于设置页面的所有链接目标的主要内容,如果未能解决你的问题,请参考以下文章