关于checkBox,radio和select标签的一些常见问题总结


    checkBox的选中问题

1. checkBox的选中和checkBox标签的checked属性的关系:当有checked属性时,即被选中,否则,未选中。               checked属性的值对是否选中没有关系(有少数浏览器可以通过设置checked属性值来改变checkBox的选中,             我个 人推荐以下方法)。
    2. js控制checkBox的选中,设置对应dom的属性(不是checkBox标签的属性):domObj.checked=true即选中,
        domObj.checked=false即未选中。
    3. jquery控制checkBox的选中,通过prop方法设置对应dom的属性:$domObj.prop("checked",true)即选中,
       $domObj.prop("checked",false)即未选中。
    4. 如果要获取checkBox是否被选中的信息,参考以上两种设置属性的方法:domObj.checked或者                                    $domObj.prop("checked")。

   

   radio的选中问题

   radio和checkBox在选中这个问题上的性质是一样的,所以参考上面对checkBox的总结:

   

    select

    1.和大多数程序语言中对数组下标的设计一样,option的索引是从0开始的。
    2.js获取选中项的索引:selectObj.selectedIndex,而selectObj.getAttribute("selectedIndex")在chrome中返回null,       在IE中返回索引数字。
    3.jquery获取选中项的索引:$selectObj.prop("selectedIndex")。
    4.如果要动态设置某一项被选中,参考方式2和3,更新dom对象的selectedIndex属性即可。
    5.若要预定义某项被选中,只需要在对应的option中加入selected,如下:
       
<option selected>1</option>
            其他实现方式更繁琐,也更容易引起兼容性问题。
   6.为了便于动态适应各种场合,应该尽量选择jquery来维护dom的属性,毕竟它可以接收一个变量作为属性名,由此可以设计出更         优雅的程序。
       

    对以上问题的总结:

    1.页面初始化完成后,dom对象的外观属性和其标签html内容之间,有一部分已经没有关系了,单纯的用js改变html
       内容,并不能影响到dom的属性。
    2.页面初始化完成后,应该通过js获取dom,直接操作dom的属性,而不要getAttribute()或者attr()这两种方式,前者       是js获取标签属性的方法,后者是jquery获取标签属性的方法。
    3.jquery的attr()和prop()方法的区别:
       attr是获取或者设置html标签的属性,通过其设置属性时,可以看到标签的html内容改变了。
       prop是获取或者设置dom对象的属性,通过其设置属性时,可以看到标签的html内容并没有改变,但是其真实呈          现的外观变了。

       难道说attr就是废物了吗?其实不是,可以通过attr可以将一些标签需要携带的信息,通过设置属性的方式动态添    加到标签的html内容上,这样,当别的程序读取标签内容时,就会看到这些属性了。具体应用前面提到的jquery分页中有提到。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值