我有这个javascript代码,它不以bookmarklet的形式运行。代码的作用是选择所有带有“btn”类的元素,然后使用javascript的click()函数点击它。 代码是:
javascript:(
function(){
alert('started');
var tn = document.getElementsByClassName('btn');
for (var i=0;i<tn.length; i++) {
tn[i].click();
}
alert('ended');
}
)
()
我正在测试它 -
<button class="btn" onclick="alert('1')">Click</button>
<button class="btn" onclick="alert('2')">Click</button>
<button class="btn" onclick="alert('3')">Click</button>
<button class="btn" onclick="alert('4')">Click</button>
显示第一个和最后一个警报(陈述和结束),但是甚至没有点击html按钮,因为我看不到警报。 Chrome控制台没有显示任何错误。
在正文末尾粘贴此代码按预期工作:
</script>
alert('started');
var tn = document.getElementsByClassName('btn');
for (var i=0;i<tn.length; i++) {
tn[i].click();
}
alert('ended');
</script>
我相信我的代码中存在一些可怕的错误,例如语法或格式或者一些我自己直到现在都无法弄清楚的愚蠢错误。
注意:我对javascript的经验不多,而且我已经搞乱了2个月,所以请原谅我的愚蠢。
答案 0 :(得分:1)
检查document.getElementsByClassName(&#39; btn&#39;)是否返回任何元素。可能是您的测试设置有问题。
答案 1 :(得分:1)
你是如何添加书签的? 和我一起一切正常。
刚刚创建了一个包含一些按钮的小页面,您的代码运行正常。
确保正确创建小书签。
希望它有效。