• Jquery属性和元素操作,ajax


    jquery属性和元素操作

     1 jquery 操作属性
     2 attr("属性名") 拿到属性值或者键值对应设置属性
     3 
     4 attr("属性名","要写入的值") # 属性写入
     5 
     6 removeAttr("属性名")  从所有匹配的元素中移除指定的属性、
     7 
     8 
     9 
    10 // 写入属性
    11 
    12 $('ul a').attr('href',href);
    13 
    14 // 移除属性
    15 
    16 $('a').eq(2).removeAttr('href');
    17 
    18 // 获取元素文本
    19 
    20 jquery 操作元素
    21 
    22 text() 设置或返回所选元素的文本内容
    23 
    24 html() 设置或返回所选元素的内容(包括HTML标记)
    25 
    26 val() 设置或返回表单字段的值
    27 
    28 # 实例
    29 
    30  #  获取元素文本
    31 
    32 console.log($(".div1").text());
    33 
    34  // 获取元素内容  html都会打印出来
    35 
    36  console.log($(".div1").html());
    37 
    38  // val  一般会用在获取表单的值
    39 
    40  console.log($(".div1").val());
    41 
    42  
    43 
    44 # 写个复杂的获得提交的账号密码信息
    45 
    46  $("#btn").click(function () {
    47 
    48     // 获取到账号的值
    49 
    50     var user = $('#user').val();
    51 
    52     var pwd = $('#pwd').val();
    53 
    54     // 使用js代码进行校验等操作
    55 
    56 });
    57 
    58 jquery 添加新的html内容
    59 
    60 append() 在备选元素的结尾插入内容,最尾部添加内容
    61 
    62 prepend()在备选元素的开头插入内容,最开头处添加
    63 
    64 after()  在备选元素之后插入内容,
    65 
    66 before() 在备选元素之前插入内容
    67 
    68 # 实例
    69 
    70 $('.div1').append('<h1>python</h1>');
    71 
    72 // 在该元素开始的位置添加内容 在元素内部
    73 
    74 $('.div1').prepend('<h1>python</h1>');
    75 
    76 // 元素之后添加 在所选元素之外
    77 
    78 $('.div1').after('<div>这是在元素之后添加</div>');
    79 
    80 // 元素之前添加 ,在所选元素之外
    81 
    82 $('.div1').before('<div>元素之前添加</div>');
    83 
    84 删除 元素/内容
    85 
    86 remove() 删除被选元素(及其子元素) 相当于彻底清除
    87 
    88 empty()  从被选元素中删除子元素     相当于清空下面的子元素
    89 
    90 # 实例
    91 
    92 // 删除元素  选中的节点和子节点一并被删掉  移除
    93 
    94 $('ul').remove();
    95 
    96 // ul 在页面上仍然存在,但是ul下面的子节点全部被删掉 子元素置空
    97 
    98 $('ul').empty();

    ajax 

      1     ajax 的技术目的是让js发送http请求,与后台进行通信
      2 
      3     获取数据源和信息,ajax技术原理是实例化xmlhttp对象
      4 
      5     使用此对象与后台通信,ajax通信过程不会影响后续js代码的执行
      6 
      7     从而实现异步
      8 
      9 同步与异步,
     10 
     11     同步即指一件事干完之后再干下一件事,
     12 
     13     异步,干一件事的同事进行另外一件事
     14 
     15 局部刷新和无刷新
     16 
     17 ajax可以实现局部刷新,也叫做无刷新,无刷新值得是整个页面不刷新,只是局部刷新
     18 
     19 ajax可以自己发送http请求,不用通过浏览器的地址栏,所以页面整体不会刷新
     20 
     21 ajax获取到后台数据,更新页面显示数据的部分,就做到了页面局部刷新
     22 
     23 同源策略
     24 
     25 ajax 请求的页面或资源只能是同一个域下的资源,不能是其他域的资源
     26 
     27 这是在设计ajax时基于安全的考虑,
     28 
     29 
     30 
     31 ajax使用方法
     32 
     33 常用参数
     34 
     35 1 url请求地址
     36 
     37 2 type 请求方式 默认是GET 常用的还有POST
     38 
     39 3 dataType 设置返回的数据格式,常用的事json格式,也可以设置为html
     40 
     41 4 data 设置为发送给服务器的数据
     42 
     43 5 success 设置请求成功后的回调函数
     44 
     45 6 error 设置请求失败后的回调函数
     46 
     47 7 async 设置是否异步,默认 true 表示异步
     48 
     49 
     50 
     51 主要涉及jquery.ajax
     52 
     53 其实就相当于从页面上发送http请求,
     54 
     55 应用实例
     56 
     57    加密传输数据, submit提交表单是不会进行加密的
     58 
     59    先通过js代码加密,然后通过ajax发送请求。
     60 
     61 ajax实例
     62 
     63 // JS
     64 
     65 // 页面加载完成之后执行的的代码
     66 
     67 $(function () {
     68 
     69     // ajax请求
     70 
     71     //给前端页面上的提交按钮绑定方法
     72 
     73     $('#btn').click(function () {
     74 
     75         // 先获取账号
     76 
     77         var acc = $('#user').val();
     78 
     79         // 获取密码
     80 
     81         var pwd = $('#pwd').val();
     82 
     83         之后进行加密方法(略过)  发送ajax请求
     84 
     85         花括号括起来的事一个js对象
     86 
     87         $.ajax({
     88 
     89             url: "/login",  # 发送请求目标地址
     90 
     91             data:{          # 如果有要求的数据就需要写
     92 
     93                 'user':acc,
     94 
     95                 'pwd':pwd
     96 
     97             },
     98 
     99             type:'POST',    # 也可以使用method关键字传
    100 
    101             dataType:'json',  // 期望后台返回的数据类型,按照json的格式解析浏览器返回的数据
    102 
    103             # 如果对方是可以允许跨域请求的接口,返回的类型要设置成jsonp
    104 
    105             success:function (data) {
    106 
    107                 # data是后台返回的数据,通过一个形参传入匿名函数进行逻辑处理
    108 
    109         // 请求成功的时候 success之后的函数会被触发  请求成功之后,后台返回数据会作为参数传入到
    110 
    111                 // success 后的回调函数中
    112 
    113                 //data.code // 就相当于取返回结果的json中的code字段
    114 
    115                 if (data.code == "1"){
    116 
    117                     alert(data.msg);
    118 
    119                 }else{
    120 
    121                     // this代表当前节点位置,当前绑定按钮,即按钮next的节点,
    122 
    123                     // append  在元素内部添加内容 达到异步发送请求返回结果给页面
    124 
    125                     $(this).next().append(data.msg);
    126 
    127                     alert(data.msg); // 编写的时候可以直接使用alert弹框来校验功能
    128 
    129                 }
    130 
    131             },
    132 
    133             error:function () {
    134 
    135         //失败的话调用此处的回调函数,与下面的done跟fail一样
    136 
    137             }
    138 
    139 
    140 
    141         })
    142 
    143 上面写法是方式1, 接着看方式2
    144 
    145     ajax在发送请求的时候除了传递参数之外会自动生成两个参数传递过去
    146 
    147     1个是回调函数,另一个是_=后面跟的一串数字的数据
    148 
    149     如果目标后面是可以接受跨域请求的话,会将返回的数据与回电函数名称,字符串数据打包成一个jsonp格式的数据返回
    150 
    151     # 如果需要跨域请求的话 dataType需要携程jsonp
    152 
    153     下面来看第二种写法
    154 
    155    $.ajax({
    156 
    157         url: '/login',
    158 
    159         type: 'POST',
    160 
    161         data: {
    162 
    163             'user': acc,
    164 
    165             'pwd': pwd
    166 
    167         },
    168 
    169         dataType: 'json'
    170 
    171     }).done(function (data) {  // 成功会进入done方法
    172 
    173         if (data.code == "1") {
    174 
    175             alert(data.msg)
    176 
    177         } else {
    178 
    179             $(this).next().append(data.msg)
    180 
    181         }
    182 
    183     }).fail(function () {  // 失败会进入fail方法
    184 
    185         alert('请求失败')
    186 
    187     })
    188 
    189 
    190 
    191 });
    192 
    193     看一个案例
    194 
    195 $.ajax({
    196 
    197     url: 'pro_list',
    198 
    199     method: 'get',
    200 
    201     dataType: 'json',
    202 
    203 }).done(function (data) {
    204 
    205     var pro = $('#pro');
    206 
    207     var res = data.data;
    208 
    209     for (i in res) {
    210 
    211         // res结构为 列表,内含对象
    212 
    213         // 直接打印i的话是下标
    214 
    215         console.log(res[i]); // 拿到的事对象
    216 
    217         var option = '<option value=' + res[i].id + '>' + res[i].title + '</option>';
    218 
    219         pro.append(option)
    220 
    221     }
    222 
    223     console.log(data);
    224 
    225     // change 事件 监测元素值是否发生变化
    226 
    227     pro.change(function () {
    228 
    229         // 往接口列表发送ajax请求
    230 
    231         // 参数 pro_id
    232 
    233         var pro_id = pro.val();
    234 
    235         console.log(pro_id);
    236 
    237         $.ajax({
    238 
    239             url: '/interface',
    240 
    241             data: {
    242 
    243                 "pro_id": pro_id
    244 
    245             },
    246 
    247             method: 'POST',
    248 
    249             dataType: 'json'
    250 
    251         }).done(function (data) {
    252 
    253             // 首先获取到目标下拉框的元素
    254 
    255             var interface = $('#interface');
    256 
    257             // 成功的话就往option里面进行添加
    258 
    259             if (data.code === "1") {
    260 
    261                 var res = data.data;
    262 
    263                 // 在添加到下拉框之间先清空
    264 
    265                 interface.empty();
    266 
    267                 for (i in res) {
    268 
    269                     var option = '<option value=>' + res[i].name + '</option>';
    270 
    271                     interface.append(option)
    272 
    273                 }
    274 
    275             }
    276 
    277         })
    278 
    279     })
    280 
    281 
    282 
    283 });

  • 相关阅读:
    deque-pop_back
    deque-max_size
    deque-insert
    deque-insert
    deque-front
    deque-front
    deque-erase
    deque-erase
    deque-end
    Angular2入门教程-1
  • 原文地址:https://www.cnblogs.com/addicated/p/13194254.html
Copyright © 2020-2023  润新知