我是编码的新手,我正在尝试创建一个书签,该书签将自动单击具有某些名称的复选框。在这种情况下,我试图使小书签自动单击“ A”复选框。
我正在使用此网站测试我的代码。 http://jsfiddle.net/fjaeger/L9z9t04p/4/
我在小书签中保存的是:
javascript:(function()%7Bdocument.querySelector('%23check-a').click()%7D)()
这是我放完
后得到的 document.getElementById('check-a').click();
通过https://mrcoles.com/bookmarklet/
进入Chrome控制台后,我的代码运行正常,但是当我将其用作书签时,它就显示为
Uncaught TypeError: Cannot read property 'click' of null
at < anonymous>:1:47
at < anonymous>:1:57
答案 0 :(得分:0)
您编写的代码是正确的。这里的问题是jsfiddle网站。该网站在iframe元素内而不是页面本身上运行代码。 document
引用了当前文档,但是iframe是一个不同的document
,并且您的代码找不到该元素。
您可以尝试
window.frames[0].document.getElementById('check-a').click();
但是,您会得到一个错误,因为该框架位于不同的来源,并且浏览器阻止了对跨域资源的访问。
尝试编写一个简单的HTML页面来测试您的书签。