复选框已经有checked,但是页面没有选中效果(解决)

原代码:

$("#checked").click(function(){

  $(".input[name="checked"]").attr("checked","true");

});

修改:

$("#checked").click(function(){

  $(".input[name="checked"]").prop("checked","true");

});

原因:jquery的版本不对,1.6以上就要在复选框,单选框之类的input组件用prop替换attr,

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

当该方法用于返回属性值,则返回第一个匹配元素的值。

当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。

$(selector).attr(attribute,value)

prop() 方法设置或返回被选元素的属性和值。

当该方法用于返回属性值时,则返回第一个匹配元素的值。

当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。

注意:prop() 方法应该用于检索属性值,例如 DOM 属性(如 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected)。

提示:如需检索 HTML 属性,请使用 attr() 方法代替。

提示:如需移除属性,请使用 removeProp() 方法。

原文地址:https://www.cnblogs.com/jianmeng/p/7487840.html