从一个bug说jquery中的attr和prop
<form> <input type="checkbox">iqiyi</input> <input type="checkbox" checked="checked">letv</input> </form> <button type>showStatus</button> <script> $("button").click(function(){ var list = $("form input"); for (var i=0; i<list.length; i++){ console.log('input ' + i + ':' + $(list[i]).attr('checked')); } }) </script>
input 0:undefined input 1:checked看起来没啥问题。
input 0:undefined input 1:checked居然没有变化!what‘s wrong!莫非jquery的attr有bug!?
input 0:false input 1:true input 0:true input 1:false当checkedbox被勾选,得到true,未被选得到false,会随用户操作动态变化。true,false的返回值也更易使用。
Attribute/Property |
.attr() |
.prop() |
---|---|---|
accesskey | √ |
|
align | √ |
|
async |
|
√ |
autofocus |
|
√ |
checked |
|
√ |
class | √ |
|
contenteditable | √ |
|
draggable | √ |
|
href | √ |
|
id | √ |
|
label | √ |
|
location ( i.e. window.location ) |
|
√ |
multiple |
|
√ |
readOnly |
|
√ |
rel | √ |
|
selected |
|
√ |
src | √ |
|
tabindex | √ |
|
title | √ |
|
type | √ |
|
width ( if needed over .width() ) |
√ |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。