zoukankan      html  css  js  c++  java
  • 问题整理(开博第一篇)

    一、attr和prop的区别

      通过prop和attr处理自定义属性

    <img src="" alt="" id="test1" abc="self">

      

            var test1 = $("#test1");
            //都能对固有属性设置值
            /*赋值前*/
            console.log(test1.prop("abc"));//undefined
            /*赋值后*/
            console.log(test1.prop("abc",123));
            console.log(test1.prop("abc"));//123
    
            /*赋值前*/
            console.log(test1.attr("abc"))//self
            /*赋值后*/
            console.log(test1.attr("abc",456))
            console.log(test1.attr("abc"))//456

    可见,attr和prop都能对属性赋值

    区别在于,对于已声明且赋值的自定义属性,

    赋值前: attr返回标签中的值,prop返回undefined

    赋值后:都能返回新值

    自定义属性只声明,不赋值

         /*赋值前*/
            console.log(test1.prop("abc"));//undefined
            /*赋值后*/
            console.log(test1.prop("abc",123));
            console.log(test1.prop("abc"));//123
    
            /*赋值前*/
            console.log(test1.attr("abc"))//空
            /*赋值后*/
            console.log(test1.attr("abc",456))
            console.log(test1.attr("abc"))//456

    attr返回空,prop返回undefined

    自定义属性不声明

    attr和prop都返回undefined

    通过 attr和prop处理仅声明的固有属性值

         /*赋值前*/
            console.log(test1.attr("alt"));//返回空字符串
            console.log(test1.prop("alt"));//返回空字符串
            /*赋值后*/
            console.log(test1.attr('alt', '测试'))
            console.log(test1.prop("alt"));//测试
    
            console.log(test1.prop('alt', '测试1'))
            console.log(test1.prop("alt"));//测试1

    属性仅声明赋值前attr和prop均返回定义的值(值为空时返回空字符串)

    但是如果处理的是未声明属性

    <img src=""  id="test1" abc="self">
         /*赋值前*/
            console.log(test1.attr("alt"));//undefined
            console.log(test1.prop("alt"));//返回空
            /*赋值后*/
            console.log(test1.attr('alt', '测试'))
            console.log(test1.prop("alt"));//测试
    
            console.log(test1.prop('alt', '测试1'))
            console.log(test1.prop("alt"));//测试1

    未声明属性赋值前:attr对未声明的固有属性返回undefined,prop返回空

    声明且赋值

    attr和prop都返回定义的值

    所以

    attr对固有属性和自定义属性:属性声明,有值返回值,无值返回空;属性未声明undefined

    prop对固有属性:属性声明,有值返回值,无值返回空;属性未声明返回空

    prop对自定义属性:属性声明,有值undefined,无值undefined; 属性未声明undefined

    但是透过prop对自定义属性重新赋值可以返回赋值后的结果

    再所以:

    对固有属性:属性声明,有值attr和prop都返回值,无值都返回空;未声明,attr返回undefined,prop返回空

    对自定义属性:属性无论是否声明,prop都返回undefined,除非使用prop对自定义属性赋值

     对于checked:

    http://www.runoob.com/try/try.php?filename=tryjquery_html_prop_attr

    attr返回标签内定义的值且不随标签状态改变而改变

    prop返回T/F随标签状态改变

    二、ajax参数

    三、遍历DOM元素的方法

    四、本地存储

    五、formset

  • 相关阅读:
    php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
    手机web——自适应网页设计(html/css控制)
    js正则表达式语法
    禁止鼠标右键的代码(转)
    php获取文件名称和扩展名
    php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
    js中cookie的使用详细分析
    fopen中r+和w+的区别
    左右选择框 js插件
    SpringMVC 过滤器Filter使用解析
  • 原文地址:https://www.cnblogs.com/rohanCh/p/7262247.html
Copyright © 2011-2022 走看看