let isin = document.querySelectorAll("tbody tr th a "); <!-- correct one -->
// let newTab = window.open( "", "_blank");`enter code here`
newTab.document.open("isin");
for (let i = 0; i <= isin; i++ ){
j.forEach(a.click("_blank"));
} else {
return;
}
上面的代码是我目前正在从事的工作。但是我绝对知道这是错误的。
任何建议将不胜感激!
您需要用当前代码处理三件事。
现在看来,您尝试引用代码,但是您的变量名确实以某种方式更改,使得程序无法理解它。例如,在for循环内,您可以使用此循环声明的变量i
。
for (let i = 0; i <= isin; i++)
^^^^^
然而,在下一行中,您正在使用j
-您的示例中未定义的变量。另外,片刻之后,您尝试执行此操作:a.click()
。这实质上就是您要实现的目标-触发链接的点击方法。但是,a
变量内的链接目前不可用。
现在,您已经以某种方式设置了您的代码,应该可以遍历所有链接。到目前为止,一切都很好,但是在第二个迭代步骤.forEach
中,事情有些失控了。现在,对于每个存在的链接,它说打开所有链接。可以通过删除其中一种循环方法轻松地解决此问题-因此,我们需要这样做:
isin.forEach()
此刻forEach
为空。但是在那里应该发生两件事:1.设置目标属性2.触发点击方法
这是为了确保在另一个选项卡中打开链接。为此,链接属性target
应设置为'_blank'
。方法如下:
link.target = '_blank';
您已经在代码中使用了它,在链接上调用click
:
link.click();
现在最后一个问题是这个神秘的link
变量来自何处。答案:这是forEach
方法正在处理的集合中的当前元素。
let isin = document.querySelectorAll("tbody tr th a "); <!-- correct one -->
[...document.getElementsByTagName('a')].forEach(function (link) {
link.target = '_blank';
link.click();
});