通过开发者工具检查页面中的所有复选框

Ign*_*eia 32 javascript checkbox google-chrome google-chrome-devtools

我有一个循环,在同一页面创建20个复选框(它创建不同的形式).我希望通过chrome开发人员工具运行JavaScript,而无需使用任何同时检查所有复选框的库.

这是我得到的:

function() {
    var aa= document.getElementsByTagName("input");
    for (var i =0; i < aa.length; i++){
     aa.elements[i].checked = checked;
    }
}
Run Code Online (Sandbox Code Playgroud)

PS:我已经搜索过并在Stack-Overflow中发现了很多问题,但没有一个对我有用,如果有人能找到正确的答案,我会很高兴的.

Mus*_*usa 84

(function() {
    var aa= document.getElementsByTagName("input");
    for (var i =0; i < aa.length; i++){
        if (aa[i].type == 'checkbox')
            aa[i].checked = true;
    }
})()
Run Code Online (Sandbox Code Playgroud)

使用最新的浏览器可以使用document.querySelectorAll

(function() {
    var aa = document.querySelectorAll("input[type=checkbox]");
    for (var i = 0; i < aa.length; i++){
        aa[i].checked = true;
    }
})()
Run Code Online (Sandbox Code Playgroud)

  • 这让我在几秒钟内就获得了 Udemy 证书。谢谢 (3认同)
  • 这只是让我不必检查一百万个取消订阅框。谢谢你。 (2认同)

Vla*_*den 12

在Console开发工具(F12)中,您可以像在javascript或jQuery代码中一样使用查询选择器。

'$$'-表示选择所有项目。如果使用“ $”,则只会获得第一项。

因此,为了选择所有复选框,您可以执行以下操作

$$('input').map(i => i.checked = true)

要么

$$('input[type="checkbox"').map(i => i.checked = true)


Ric*_*lis 5

要稍微修改已接受的答案,如果您尝试选中某些服务(例如 Loom.com)上的所有框,那么您需要单击每个框,而不仅仅是将它们设置为“已选中”状态,否则功能无法按预期工作。

这是执行此操作的代码:

(function() {
    var aa = document.querySelectorAll("input[type=checkbox]");
    for (var i = 0; i < aa.length; i++){
        aa[i].click();
    }
})()
Run Code Online (Sandbox Code Playgroud)

请注意,较长的复选框列表会导致页面暂时暂停,因为所有复选框都会自动为您点击。