isChecked()方法

这个方法是用于复选框的。即CheckBox对象。区分CheckBox是否被选中,isChecked有两种返回值:
1 当CheckBox对象的复选框被选中时,isChecked()返回true,即1;
2 当CheckBox对象的复选框没有被选中时,isChecked()返回false,即0.

attr()与prop()区别

attr()方法返回被选元素的属性值。

prop() 方法设置或返回被选元素的属性和值。
当该方法用于返回属性值时,则返回第一个匹配元素的值。
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对

补一些遇到的坑:
选中的状态已经变了,但是样式却没有变过来。原因
这里我告诉大家不是我们的错,是jquery的问题。

使用jQuery设置checkbox为选择状态时,我们通常会使用

$(this).attr("checked", true);
//或者
$(this).attr("checked", checked);

但是当你的jquery版本大于1.6的时候,这种只能生效一次,后面你只会看到checkbox的checked属性会增加checked但是现实的状态是没有打钩的。这种情况下你就不能使用$(this).attr(“checked”, checked)这种方法了,需要使用下面的代码:

$(this).prop("checked", true);

如何获取自定义属性的属性值???
倘若直接input.tag 是不行的
要$(‘input’).attr(“tag”).
这个虽然是个小细节,如果不懂的话,,,就要排查好久哦

function check() {
            var checked = new Array();
            var j = 0;
            var checkbox = document.forms[0].checkbox;
            console.log(checkbox);
            for (i = 0; i < checkbox.length; i++) {
                if (checkbox[i].checked) {
                    console.log(checkbox[i]);
                    checked[j] = $(checkbox[i]).attr("tag");
                    console.log(j);
                    console.log(checked[j]);
                    j++;
                }
            }
            console.log(checked);
            return false;
        }

你可能感兴趣的:(JS)