2013-04-06 48 views
0

我想用prop()的复选框的属性设置为checked如何使用jquery的prop()来设置复选框的属性?

当我使用prop("checked",true)时,我可以直观地看到复选框被选中,但如果我查看HTML,则没有属性值checked

例如:

<input type="checkbox" class="my_class" checked> 

是什么,我会想到使用prop("checked", true)后看到的。 但是,我在HTML代码中看不到任何更改。我想稍后参考是否设置了属性checked,但由于HTML中没有属性checked,因此我无法引用它。

+1

你仍然可以在后面的页面中引用它。 – tymeJV 2013-04-06 19:21:14

回答

2

当使用prop()时,您正在更改属性而不是属性,因此更改无法在DOM检查器中看到,但它用于所有意图和目的的更改。

以后要看到,如果元素被选中,你会怎么做:

$('.my_class').is(':checked') 

检查或假时将返回true未选中时,无论你可能在一个DOM检查看看。

+0

问题是,复选框位于表单内,保存时设置为“display:none”。当我后来去查看的形式(通过设置''显示:?block'',没有复选框被检查这是为什么 – 2013-04-06 19:31:06

+0

@NancyCollier - 这应该只是罚款 - > [** ** FIDDLE(HTTP :?//jsfiddle.net/c5NNs/) – adeneo 2013-04-06 19:37:25

-3

有你也不会为这个应用程序中使用ATTR()特定的原因是什么?

如果不是,那就是你应该使用的而不是prop()

+0

adeneo说,在他的评论中伟大的:“当使用道具()要更改的属性,而不是属性,这样的变化不能在DOM检查可见” – 2013-04-06 19:25:05

+0

是的,和物业真的是你想改变什么,这就是为什么'道具()'会是这样做的首选方法,它只是在开始的时候有点混乱,看不到的东西在DOM查看更改。 – adeneo 2013-04-06 19:26:30

+0

我想ATTR ()在版本1.9中已弃用? – 2013-04-06 19:32:02

相关问题