.prop() 获取匹配的元素集中第一个元素的属性(property)值 或 设置每一个匹配元素的一个或多个属性。
当设置 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 或 defaultSelected 必须使用这个方法。
若要取得每个匹配元素的属性值(property),请使用循环结构,如jQuery .each()或.map()方法。
attr 和 prop 分别是单词 Attributes 和 Properties 的缩写,都表示属性的含义,如果要从含义上来区分,attr 可理解为 特性,prop 理解为 属性。
checked 特性(attribute)值不会因为复选框的状态而改变,而checked属性(property)会因为复选框的状态而改变。
当我们设置默认值时用 checked="checked", 此时手动取消勾选,这个 attr 值并不会消失,然而 prop 值却会变成 false / true.
因此,跨浏览器兼容的方法来确定一个复选框是否被选中,是使用该属性(prop)。对于其他的动态属性,同样是true,比如 selected 和 value。
$("input").prop("disabled", false); $("input").prop("checked", true); $("input").val("someValue");
还要注意的是 .removeProp() 方法不应该被用来设置这些属性为 false。一旦原生的属性被移除,就无法再被添加。
cn: https://www.jquery123.com/prop/