您的位置:1010cc时时彩经典版 > 1010cc时时彩客户端 > 【1010cc时时彩经典版】jQuery学习之prop和attr的区别

【1010cc时时彩经典版】jQuery学习之prop和attr的区别

发布时间:2019-09-01 07:46编辑:1010cc时时彩客户端浏览(192)

    jquery checkbox 勾选的bug难点解决方案与深入分析,jquerycheckbox

    在做项目标时候遇到个jQuery checkbok复选框的入选用消的BUG,咨询了大神,才闹领悟怎么回事,这里记录下来,剖判给我们。

    先上代码:

    复制代码 代码如下:

    <form>
            你欣赏的移动是?<input type="checkbox" id="CheckedAll" />全选/全不选<br />
            <input type="checkbox" name="items" value="足球" />足球
            <input type="checkbox" name="items" value="篮球" />篮球
            <input type="checkbox" name="items" value="羽毛球" />羽毛球
            <input type="checkbox" name="items" value="乒乓球" />乒乓球
            <br />
            <input type="button" id="send" value="提 交" />
        </form>

    复制代码 代码如下:

     $("#CheckedAll").click(function () {
                    if ($(this).is(":checked")) {
                        $("[name=items]:checkbox").attr("checked", true);
                    } else {
                        $("[name=items]:checkbox").attr("checked", false);
                    }
                });

    先是次施行,没难点,但第二遍施行就反常了,选用不了

    化解办法:把attr()换来prop()

    复制代码 代码如下:

     $("#CheckedAll").click(function () {
                    if ($(this).is(":checked")) {
                        $("[name=items]:checkbox").prop("checked", true);
                    } else {
                        $("[name=items]:checkbox").prop("checked", false);
                    }
                });

    PS:prop()和attr()区别:

    近年在iteye的消息中观看jQuery已经更新到了1.6.1。和此前版本的最大变迁是扩展了.prop方法。不过.prop()方法和.attr()方法,单从字面上很难区分。在汉语中properties和attributes都有表示“属性”的情致。
    下边遵照那篇博文(javascript:mctmp(0);),简要翻译了.prop()和.attr()的用法:

    1、从1.5.2升级到1.6.1

    经过介绍新方法.prop()以及.attr()方法的改换,jQuery1.6.1引起了一场有关attributes和properties之 间有啥差距和交流的能够研商。同期,1.6.1也化解了有的向后包容性难点。当从1.5.2升迁到1.6.1时,你不用修改任何attribute代码。

    上面是关于jQuery1.6和1.6.第11中学Attributes模块变化的叙说,以及.attr()方法和.prop()方法的首推使用。可是,正如前方所述,jQuery1.6.1同意你使用.attr()方法就如以前它被利用在具有的动静中一致。

    2、发生了怎么着变化

    Attributes模块的变化是移除了attributes和properties之间当机不断的东西,可是在jQuery社区中挑起了一部分混 乱,因为在1.6在此以前的持有版本中都选拔叁个主意(.attr())来拍卖attributes和properties。可是老的.attr()方法有点bug,很难保证。jQuery1.6.1对Attributes模块实行了履新,而且修复了多少个bug。

    专程涉及的是,boolean attributes,例如:checked,selected,readonly和disabled在1.6.1一月1.6事先的拍卖一样。那意味上边的代码:

    复制代码 代码如下:

    $(“:checkbox”).attr(“checked”, true); 
    $(“option”).attr(“selected”, true); 
    $(“input”).attr(“readonly”, true); 
    $(“input”).attr(“disabled”, true); 

     乃至是这般的代码:

    复制代码 代码如下:

    if ( $(“:checkbox”).attr(“checked”) ) { /* Do something */ } 

    在1.6.第11中学绝非须求为了保持之先前时代望的启动结果而发出任何变动。

    为了让jQuery1.6中的.attr()方法的浮动被理解的知晓些,下边是一些使用.attr()的事例,就算在jQuery此前的版本中能寻常办事,然前段时间后必须接纳.prop()方法替代:

    1010cc时时彩经典版 1

    先是,window或document中使用.attr()方法在jQuery1.6中无法符合规律运维,因为window和document中不能够有 attributes。它们包蕴properties(譬喻:location或readyState),必得运用.prop()方法操作或简捷地选择javascript原生的诀要。在jQuery1.6.第11中学,window和document中使用.attr()将被电动转成使用.prop,并不是抛出二个荒唐。

    说不上,checked,selected和后边提到的其他boolean attributes,因为那么些attributes和其相应的properties之间的出格关系而被优秀对待。基本上,叁个attribute正是以下html中您看看的:

    <input type=”checkbox” checked=”checked”> 
     
    boolean attributes,比如:checked,仅被安装成暗中同意值或开头值。在贰个checkbox的要素中,checked attributes在页面加载的时候就被设置,而不管checkbox成分是不是被选中。

    properties就是浏览器用来记录当前值的东西。正常情形下,properties反映它们相应的attributes(固然存在的话)。但 那并不是boolean attriubutes的事态。当顾客点击三个checkbox成分或选中三个select成分的贰个option时,boolean properties保持最新。但对应的boolean attributes是分歧样的,正如下边所述,它们仅被浏览器用来保存发轫值。

    复制代码 代码如下:

    $(“:checkbox”).get(0).checked = true; 
    // Is the same as $(":checkbox:first").prop(“checked”, true); 

    在jQuery1.6中,假诺选拔下边包车型客车措施设置checked:  

    复制代码 代码如下:

    $(“:checkbox”).attr(“checked”, true); 

    将不会检讨checkbox成分,因为它是索要被设置的property,可是你有所的安装都以早先值。

    然而,曾经jQuery1.6被释放出来的时候,jQuery团队知道当浏览器仅关切页面加载时,设置有个别值不是特意的管用。所以,为了维持向后兼容性和.attr()方法的有用性,大家能够继续在jQuery1.6.第11中学使用.attr()方法赢得和安装那么些boolean attributes。

    最普通的attributes是checked,selected,disabled和readOnly,但上边是jQuery1.6.1支撑的使用.attr()动态地赢得和装置boolean attributes/properties的完全列表:

    autofocus, autoplay, async, checked, controls, defer, disabled, 
    hidden, loop, multiple, open, readonly, required, scoped, selected 
     
    (译者注:一大半都以html5新增添的天性)

    抑或提出利用.prop()方法来安装那一个boolean attributes/properties,固然那几个用例未有转变到使用.prop()方法,不过你的代码如故能够在jQuery1.6.第11中学经常运作。

    上面是某个attributes和properties的列表,符合规律情况下,应该运用其相应的办法(见上边包车型大巴列表)来获取和安装它们。上边包车型客车是首用法,不过.attr()方法可以运营在颇具的attributes情状下。

    留意:一些DOM元素的properties也被列在下边,可是仅运转在新的.prop()方法中

    1010cc时时彩经典版 2

    *例如: window.location
    **设若要求在(if needed over) .width()

    .attr()和.prop()都不应当被用来取值/设值。使用.val()方法代替(就算使用.attr("value","somevalue") 能够再三再四运转,就像1.6事先做的那么)

    3、首荐用法的概述

    .prop()方法应该被用来管理boolean attributes/properties以及在html(比方:window.location)中海市蜃楼的properties。其余具有的 attributes(在html中您看看的那些)能够何况应该继续使用.attr()方法来实行操作。

    上边的概述已经描述的够清楚了,我也从没须要再下结论了。

    checkbox 勾选的bug难点解决方案与深入分析,jquerycheckbox 在做项目的时候蒙受个jQuery checkbok复选框的入选撤消的BUG,咨询了大神,才闹领悟怎...

    在做项目标时候碰到个jQuery checkbok复选框的当选拔消的BUG,咨询了大神,才闹通晓怎么回事,这里记录下来,深入分析给我们。

    jquery checkbox 勾选的bug难点一下子就解决了方案与深入分析

     在做项目标时候境遇个jQuery checkbok复选框的入选择消的BUG,咨询了大神,才闹通晓怎么回事,这里记录下来,深入分析给大家。

    先上代码:

     

    代码如下:

    <form>
            你喜欢的运动是?<input type="checkbox" id="CheckedAll" />全选/全不选<br />
            <input type="checkbox" name="items" value="足球" />足球
            <input type="checkbox" name="items" value="篮球" />篮球
            <input type="checkbox" name="items" value="羽毛球" />羽毛球
            <input type="checkbox" name="items" value="乒乓球" />乒乓球
            <br />
            <input type="button" id="send" value="提 交" />
        </form>

     

     

    代码如下:

     $("#CheckedAll").click(function () {
                    if ($(this).is(":checked")) {
                        $("[name=items]:checkbox").attr("checked", true);
                    } else {
                        $("[name=items]:checkbox").attr("checked", false);
                    }
                });

     

    第壹回施行,没难题,但第二回实践就有标题了,选拔不了

    化解办法:把attr()换来prop()

     

     代码如下:

     $("#CheckedAll").click(function () {
                    if ($(this).is(":checked")) {
                        $("[name=items]:checkbox").prop("checked", true);
                    } else {
                        $("[name=items]:checkbox").prop("checked", false);
                    }
                });

     

    PS:prop()和attr()区别:

    多年来在iteye的资源消息中看到jQuery已经更新到了1.6.1。和前边版本的最大变化是增添了.prop方法。可是.prop()方法和.attr()方法,单从字面上很难区分。在中文中properties和attributes都有代表“属性”的意趣。
    上边依据那篇博文(javascript:mctmp(0);),简要翻译了.prop()和.attr()的用法:

    1、从1.5.2升级到1.6.1

    经过介绍新方法.prop()以及.attr()方法的改观,jQuery1.6.1引起了一场有关attributes和properties之 间有啥分歧和关系的大幅探讨。同一时候,1.6.1也化解了一部分向后包容性难题。当从1.5.2升官到1.6.1时,你不用修改任何attribute代码。

    上面是有关jQuery1.6和1.6.第11中学Attributes模块变化的陈诉,以及.attr()方法和.prop()方法的首推使用。可是,正如前方所述,jQuery1.6.1允许你使用.attr()方法就好像从前它被选用在有着的情景中同样。

    2、爆发了如何变动

    Attributes模块的变动是移除了attributes和properties之间左顾右盼的事物,可是在jQuery社区中挑起了一部分混 乱,因为在1.6事先的全体版本中都动用一个措施(.attr())来管理attributes和properties。不过老的.attr()方法有点bug,很难有限支撑。jQuery1.6.1对Attributes模块实行了立异,而且修复了多少个bug。

    特意涉及的是,boolean attributes,举个例子:checked,selected,readonly和disabled在1.6.1花月1.6事先的拍卖一样。那意味下边包车型大巴代码:

     

     代码如下:

    $(“:checkbox”).attr(“checked”, true); 
    $(“option”).attr(“selected”, true); 
    $(“input”).attr(“readonly”, true); 
    $(“input”).attr(“disabled”, true); 

     

     乃至是这么的代码:

     

     代码如下:

    if ( $(“:checkbox”).attr(“checked”) ) { /* Do something */ } 

     

    在1.6.第11中学从未要求为了保全之早先时期望的运作结果而发出任何改变。

    为了让jQuery1.6中的.attr()方法的改变被掌握的驾驭些,上边是一对使用.attr()的例证,固然在jQuery从前的本子中能符合规律工作,可是未来必须运用.prop()方法取代:

    1010cc时时彩经典版 3

    率先,window或document中使用.attr()方法在jQuery1.6中不能不奇怪运作,因为window和document中无法有 attributes。它们含有properties(比方:location或readyState),必需选取.prop()方法操作或简捷地行使 javascript原生的艺术。在jQuery1.6.第11中学,window和document中使用.attr()将被活动转成使用.prop,而不是抛出二个荒唐。

    帮忙,checked,selected和前面提到的其他boolean attributes,因为那几个attributes和其对应的properties之间的特别规关系而被出色对待。基本上,三个attribute就是以下html中您看到的:

    <input type=”checkbox” checked=”checked”> 
     
    boolean attributes,举例:checked,仅被安装成暗中认可值或开头值。在一个checkbox的要素中,checked attributes在页面加载的时候就被设置,而不管checkbox成分是还是不是被入选。

    properties正是浏览器用来记录当前值的东西。寻常景况下,properties反映它们相应的attributes(若是存在的话)。但 那并不是boolean attriubutes的意况。当客户点击一个checkbox成分或选中一个select成分的二个option时,boolean properties保持最新。但相应的boolean attributes是不相同的,正如上边所述,它们仅被浏览器用来保存早先值。

     

     代码如下:

    $(“:checkbox”).get(0).checked = true; 
    // Is the same as $(":checkbox:first").prop(“checked”, true); 

     

    在jQuery1.6中,借使选拔下边包车型客车方法设置checked:  

    代码如下:

    1010cc时时彩经典版,$(“:checkbox”).attr(“checked”, true); 

     

    将不会检讨checkbox成分,因为它是要求被设置的property,不过你具有的安装都以初叶值。

    而是,曾经jQuery1.6被释放出来的时候,jQuery团队懂妥当浏览器仅关切页面加载时,设置有个别值不是特意的灵光。所以,为了保证向后兼容性和.attr()方法的有用性,大家得以继续在jQuery1.6.第11中学使用.attr()方法获得和装置这一个boolean attributes。

    最普通的attributes是checked,selected,disabled和readOnly,但上面是jQuery1.6.1支撑的使用.attr()动态地获取和装置boolean attributes/properties的总体列表:

    autofocus, autoplay, async, checked, controls, defer, disabled, 
    hidden, loop, multiple, open, readonly, required, scoped, selected 
     
    (译者注:半数以上都是html5新扩大的习性)

    要么提出选取.prop()方法来安装那一个boolean attributes/properties,纵然这一个用例未有转换来使用.prop()方法,可是你的代码仍旧可以在jQuery1.6.第11中学符合规律运作。

    下边是有个别attributes和properties的列表,符合规律状态下,应该使用其相应的法门(见上面包车型大巴列表)来获得和安装它们。下边包车型大巴是首用法,然则.attr()方法能够运作在颇具的attributes意况下。

    潜心:一些DOM成分的properties也被列在底下,但是仅运行在新的.prop()方法中

    1010cc时时彩经典版 4

    *例如: window.location
    **一经急需在(if needed over) .width()

    .attr()和.prop()都不应有被用来取值/设值。使用.val()方法替代(就算使用.attr("value","somevalue") 可以继续运营,就像1.6在此以前做的这样)

    3、首要推荐用法的概述

    .prop()方法应该被用来拍卖boolean attributes/properties以及在html(比如:window.location)中不设有的properties。别的具备的 attributes(在html中你看看的这一个)能够同临时候应当承袭使用.attr()方法来进展操作。

    checkbox 勾选的bug难题一蹴即至方案与深入分析在做项指标时候遭逢个jQuery checkbok复选框的入选拔消的BUG,咨询了大神,才闹了解怎么回事,这...

    .prop()

    1、.prop( propertyName )
    赢得相配群集中率先个要素的Property的值
    2、
    .prop( propertyName, value )
    .prop( map )
    .prop( propertyName, function(index, oldPropertyValue) )
    给相称成分集结设定壹个或七个属性

    先上代码:

    相关文章

    连带搜索:

    前日看什么

    去帮问提问

    检索手艺库

    • 公告滚动呈现插件,公告滚动插件
    • jQuery插件之Cookie,jquerycookie
    • 10款响应式的 jQuery UI 组件的代码和模块,j
    • JQ包容性难点,jq包容性
    • jquery $(window).height()取值等于$(document).height(
    • HTML5 Canvas jQuery调用手提式无线电话机摄像效果达成图片上

    有关频道: HTML/CSS  HTML5  Javascript  jQuery  AJax教程  前面三个代码  正则表达式  Flex教程  WEB前端教程  

     

    .prop()和 .attr()区别

    复制代码 代码如下:

    帮客批评

    1、.prop( propertyName )

    上面是关于jQuery1.6和1.6.第11中学Attributes模块变化的叙说,以及.attr()方法和.prop()方法的主要推荐使用

    <form>
            你欢娱的移动是?<input type="checkbox" id="CheckedAll" />全选/全不选<br />
            <input type="checkbox" name="items" value="足球" />足球
            <input type="checkbox" name="items" value="篮球" />篮球
            <input type="checkbox" name="items" value="羽毛球" />羽毛球
            <input type="checkbox" name="items" value="乒乓球" />乒乓球
            <br />
            <input type="button" id="send" value="提 交" />
        </form>

    获取相配集合中率先个要素的Property的值

    Attributes模块的转换是移除了attributes和properties之间犹豫不决的事物,可是在jQuery社区中挑起了有个别无规律,因为在1.6事先的具备版本中都动用一个办法(.attr())来拍卖attributes和properties。可是老的.attr()方法有部分bug,很难保证。jQuery1.6.1对Attributes模块实行了立异,並且修复了多少个bug。

    复制代码 代码如下:

    2、

    elem.checked true (Boolean) Will change with checkbox state
    $(elem).prop("checked") true (Boolean) Will change with checkbox state
    elem.getAttribute("checked") "checked" (String) Initial state of the checkbox; does not change
    $(elem).attr("checked")(1.6) "checked" (String) Initial state of the checkbox; does not change
    $(elem).attr("checked")(1.6.1 ) "checked" (String) Will change with checkbox state
    $(elem).attr("checked")(pre-1.6) true (Boolean) Changed with checkbox state

     $("#CheckedAll").click(function () {
                    if ($(this).is(":checked")) {
                        $("[name=items]:checkbox").attr("checked", true);
                    } else {
                        $("[name=items]:checkbox").attr("checked", false);
                    }
                });

    .prop( propertyName, value )

    if ( elem.checked )
    if ( $(elem).prop("checked") )
    if ( $(elem).is(":checked") )

    首先次施行,没难点,但第贰回施行就有标题了,选拔不了

    .prop( map )

    那多少个都以再次回到Boolean值。

    消除办法:把attr()换来prop()

    .prop( propertyName, function(index, oldPropertyValue) )

    为了让jQuery1.6中的.attr()方法的成形被通晓的知道些,上面是一对使用.attr()的例子,即使在jQuery以前的本子中能寻常干活,可是将来必得利用.prop()方法代替:
    1010cc时时彩经典版 5 
    首先,window或document中使用.attr()方法在jQuery1.6中不能健康运维,因为window和document中不能够有attributes。它们包罗properties(比方:location或readyState),必需使用.prop()方法操作或简捷地使用javascript原生的法子。在jQuery1.6.1中,window和document中使用.attr()将被机关转成使用.prop,实际不是抛出四个不当。

    复制代码 代码如下:

    给相称成分会集设定二个或多少个属性

    其次,checked,selected和前面提到的任何boolean attributes,因为那一个attributes和其相应的properties之间的例外关系而被出色对待。基本上,二个attribute便是以下html中你见到的:

     $("#CheckedAll").click(function () {
                    if ($(this).is(":checked")) {
                        $("[name=items]:checkbox").prop("checked", true);
                    } else {
                        $("[name=items]:checkbox").prop("checked", false);
                    }
                });

     

    <input type=”checkbox” checked=”checked”>

    PS:prop()和attr()区别:

    .prop()和 .attr()区别

    boolean attributes,比如:checked,仅被安装成暗中认可值或早先值。在一个checkbox的要素中,checked attributes在页面加载的时候就被设置,而不管checkbox成分是或不是被选中。

    不久前在iteye的资源音信中来看jQuery已经更新到了1.6.1。和在此之前版本的最大转变是增添了.prop方法。可是.prop()方法和.attr()方法,单从字面上很难区分。在粤语中properties和attributes都有意味“属性”的情趣。
    上面依据那篇博文(javascript:mctmp(0);),简要翻译了.prop()和.attr()的用法:

     

    properties便是浏览器用来记录当前值的东西。符合规律景况下,properties反映它们相应的attributes(即使存在的话)。但那并非boolean attriubutes的景观。当顾客点击二个checkbox成分或选中二个select成分的二个option时,boolean properties保持最新。但对应的boolean attributes是不相同的,正如下面所述,它们仅被浏览器用来保存伊始值。

    1、从1.5.2升级到1.6.1

    上面是有关jQuery1.6和1.6.第11中学Attributes模块变化的陈诉,以及.attr()方法和.prop()方法的首荐使用

    $(“:checkbox”).get(0).checked = true;

    由此介绍新方法.prop()以及.attr()方法的更动,jQuery1.6.1唤起了一场有关attributes和properties之 间有什么差异和联系的激烈商讨。同期,1.6.1也化解了一些向后包容性难点。当从1.5.2调升到1.6.1时,你不用修改任何attribute代码。

     

    // Is the same as $(":checkbox:first").prop(“checked”, true);

    下边是有关jQuery1.6和1.6.第11中学Attributes模块变化的陈说,以及.attr()方法和.prop()方法的首选使用。但是,正如前方所述,jQuery1.6.1允许你使用.attr()方法就疑似从前它被使用在具备的景色中平等。

    Attributes模块的转换是移除了attributes和properties之间左顾右盼的东西,然而在jQuery社区中挑起了有的杂乱无章,因为在1.6事先的全体版本中都选拔三个措施(.attr())来拍卖attributes和properties。然而老的.attr()方法有一部分bug,很难保险。jQuery1.6.1对Attributes模块举行了履新,何况修复了多少个bug。

    在jQuery1.6中,若是接纳上面包车型大巴秘技设置checked:

    本文由1010cc时时彩经典版发布于1010cc时时彩客户端,转载请注明出处:【1010cc时时彩经典版】jQuery学习之prop和attr的区别

    关键词: