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

  • 相关阅读:
    从今天开始,逐步的把EverNote摘抄的笔记发送到这里来,也算是写博客的一个开始吧
    驾校一点通变身软考题库
    从公司去西站时间估算
    Android应用程序与JS双向调用
    操作系统为fedora17,安装Qt4.7.3,编译时找不到libpng12.so.0
    symbian 静默安装与静默删除(转)
    Symbian 利用Socket发送短信的源码(转)
    QT在vs2005平台下的安装与调试(转)
    c++中break的用法、continue的用法
    symbian入门系列 Windows C++ 程序员如何过度到Symbian C++ ?(转)
  • 原文地址:https://www.cnblogs.com/rohanCh/p/7262247.html
Copyright © 2011-2022 走看看