设置页面的所有链接目标

时间:2010-05-14 03:22:21

标签: javascript hyperlink target

我有动态生成的链接,我需要为所有链接设置目标。我怎么能用javaScript做到这一点。我找到了一些看起来应该可以使用jQuery工作的东西..

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

但是我不想使用这个库,我想有几行javaScript会照顾它......我只是不知道怎么写它。

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

3 个答案:

答案 0 :(得分:3)

像这样的东西

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

for (var i = 0; i < anchorElements.length; i ++)
{
  anchorElements[i].setAttribute("target", "_top");
}

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:1)

我找到了解决方案。对不起,在问之前我应该​​在这里做更多的搜索。

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

对我有用的是使用对象

<base target="_top" />