gpt4 book ai didi

javascript - 组合 2 个字符串时,Dom 元素显示的结果与静态输入的查询不同

转载 作者:行者123 更新时间:2023-12-02 22:07:31 25 4
gpt4 key购买 nike

我确信我忽略了最明显的,但我需要循环浏览页面上的一些链接,但由于某种原因,当我尝试引入迭代数字并更改为字符串时,它没有工作。不工作是指当我运行该函数时,它会给出错误“未捕获的类型错误:无法读取 null 的属性“单击””。第一个示例显示它无需循环即可工作。第二个是不起作用的字符串组合。

这有效!

function myFunction() {
var grids = document.getElementsByClassName('gridRow')
setInterval(function(){
for(i=1;i<grids.length;i++) {
var test = '_resultsGrid__Button_1'
document.getElementById(test).click()
}
}, 2000);
}

这不是!

function myFunction() {
var grids = document.getElementsByClassName('gridRow')
setInterval(function() {
for(i=1;i<grids.length;i++) {
var test = '_resultsGrid__Button_' + String(i)
document.getElementById(String(test)).click()
}
}, 2000);
}

最佳答案

而不是做

for (i = 1;i < grids.length;i++) { ... }

你应该这样做

for (i = 1;i <= grids.length;i++) { ... }

在第一个示例中,您仅在 i 时循环是 less than (<) 元素长度,因此循环次数比长度少一次;您需要使用 less than or equal to (<=) 运算符改为包含最后一次迭代

<小时/>
function myFunction() {
var grids = document.getElementsByClassName('gridRow')

setInterval(function() {
for(i = 1; i <= grids.length; i++) {
var test = '_resultsGrid__Button_'+String(i)
document.getElementById(String(test)).click()
}
}, 2000);
}

关于javascript - 组合 2 个字符串时,Dom 元素显示的结果与静态输入的查询不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59671408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com