4

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

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

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

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

4

3 回答 3

3

像这样的东西

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

for (var i = 0; i < anchorElements.length; i ++)
{
  anchorElements[i].setAttribute("target", "_top");
}
于 2010-05-14T03:28:06.500 回答
2

我自己通常是一个 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()方法。

于 2010-05-14T03:25:38.477 回答
1

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

如何从 iframe 强制链接在父窗口中打开

对我有用的是使用该对象

<base target="_top" />
于 2010-05-14T03:57:30.280 回答