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

时间:2013-01-09 20:22:25

标签: javascript google-chrome checkbox google-chrome-devtools

我有一个循环,可以在同一页面中创建20个 复选框 (它会创建不同的表单)。我希望通过 chrome开发人员工具 来运行JavaScript,而无需使用任何 CHECK 所有的库复选框同时。

据我所知:

function() {
    var aa= document.getElementsByTagName("input");
    for (var i =0; i < aa.length; i++){
     aa.elements[i].checked = checked;
    }
}
PS:我已经搜索过并在Stack-Overflow中找到了很多问题,但没有一个对我有用,如果有人能找到正确的答案,我会很高兴。

8 个答案:

答案 0 :(得分:72)

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

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

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

答案 1 :(得分:5)

从Console Dev Tools(F12)中,您可以在javascript或jQuery代码中使用查询选择器。

&#39; $$&#39; - 表示选择所有项目。如果您使用&#39; $&#39;相反,你只会获得第一项。

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

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

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

答案 2 :(得分:3)

你几乎是正确的。只需使用

aa[i].checked = "checked";

在循环中。

即,您需要确保:

  1. "checked"是一个字符串,而不是变量标识符,
  2. 您直接在aa上编制索引,而不是aa.elements,但不存在

答案 3 :(得分:2)

如果你在这里寻找快速单行:

var aa = document.getElementsByTagName("input"); for (var i = 0; i < aa.length; i++) aa[i].checked = true;

答案 4 :(得分:2)

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

这是执行此操作的代码:

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

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

答案 5 :(得分:1)

尝试setAttribute

(function() {
  var aa = document.getElementsByTagName("input");
  for (var i =0; i < aa.length; i++){
    aa.elements[i].setAttribute('checked', 'checked');
  }
})();

编辑:添加了parens以立即执行该功能。

答案 6 :(得分:1)

试试这个:)

(function () {
    var checkboxes = document.querySelectorAll('input[type=checkbox]');

    //convert nodelist to array
    checkboxes = Array.prototype.slice.call(checkboxes);
    checkboxes.forEach(function (checkbox) {
        console.log(checkbox);
        checkbox.setAttribute('checked', true);
    });

})()

http://jsfiddle.net/YxUHw/

答案 7 :(得分:1)

Javascript函数切换(选中/取消选中)所有复选框。

function checkAll(bx)
{
 var cbs = document.getElementsByTagName('input');
 for(var i=0; i < cbs.length; i++)
 {
    if(cbs[i].type == 'checkbox')
    {
        cbs[i].checked = bx.checked;
     }
 }
}

如果您想从开发人员工具中删除它,请删除函数参数并将值设为“true”“false”而不是“bx。检查“