我有动态生成的链接,我需要为所有链接设置目标。我怎么能用javaScript做到这一点。我找到了一些看起来应该可以使用jQuery工作的东西..
$("a").attr('target', '_top');
但是我不想使用这个库,我想有几行javaScript会照顾它......我只是不知道怎么写它。
为了进一步说明我在做什么,链接是用javaScript和推荐引擎ATG生成的,我在iframe中调用它,我需要突破到顶部。我想我需要的只是一种定义DOM中所有链接的方法,它不必附加到特定的id。是否可以将动态生成的属性附加到动态生成的链接?有可能建立一个自定义渲染,但我希望避免这种路线。
答案 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" />