WEB前端jQuery—补充

链式编程

  • 通常情况下,只有设置操作才能把链式编程延续下去。因为获取操作的时候,会返回获取到的值,而不返回jq对象
  • 可以链式:返回jq对象。
  • 不可链式:返回的不是jq对象(数字…)。
  • **end方法:**调节链式编程中的jq对象,使整个链的jq对象始终为原始的。
    // 此时返回的jq对象不是$(this)
    $(this).text(wjx_s).prevAll().text(wjx_s);
    // 而是prevAll()的对象
    $(this).nextAll().text(wjx_k);	
    // 在prevAll()操作之后加end(),使jq对象调整为$(this),于是可以接着链式编程
    $(this).text(wjx_s).prevAll().text(wjx_s).end().nextAll().text(wjx_k);
    

each遍历jq对象

  • jQuery的隐式迭代会对所有的DOM对象设置相同的值,但是如果我们需要给每一个对象设置不同的值的时候,就需要自己进行迭代了
  • for循环(多捞哦):
    for(var i=0;i<$("li").length;i++){
        $("li").eq(i).css("opacity",(i+1)/10);
    }
    
  • each()方法:
    // i: 循环使的索引
    // v: 当前索引处的js对象
    $("li").each(function (i,v) {
        $(v).css("opacity", (i+1)/10);
    });
    
  • forEach和each()的区别:
    • dom的forEach只能在数组用,而jq的each能在所有jq对象使用。
    • forEach(function(val,i){...});: 先值后索引
      jq对象.each(function(i,val){...});: 先索引后值
  • 建议: 多用each()方法少用for循环。

$冲突问题

jQuery中$权限释放

  • 背景: 如果引入两个文件,先引入文件0再引入jQuery,文件0中有$的对象,则下面代码直接使用$就一直是jQuery的。如何将$变成文件0中的那个对象?
  • jQuery使用$作为标示符,但是如果与其他框架中的$冲突时,jQuery可以释放$符的控制权.
  • 前提: 当前$的权限由jQuery控制。
    // 释放$的控制权,并且把$的能力给了c
    // 要使用jQuery只需将`$`变成前边的`c`(任意)即可
    var c = $.noConflict();
    
  • 注意: 如果文件0是在jQuery后边引入的,也就是jQuery没有$的控制权,此时无需释放权限
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值