jQuery链式编程,each方法,多库共存

简介: jQuery链式编程,each方法,多库共存

jQuery补充知识点


链式编程


通常情况下,只有设置操作才能把链式编程延续下去。因为获取操作的时候,会返回获取到的相应的值,无法返回 jQuery对象。


end(); // 筛选选择器会改变jQuery对象的DOM对象,想要回复到上一次的状态,并且返回匹配元素之前的状态。


案例:五角星评分案例



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>五角星评分案例</title>
  <style>
    * {
      padding: 0;
      margin: 0;
    }
    .comment {
      font-size: 300px;
      color: #ff16cf;
    }
    .comment li {
      float: left;
    }
    ul {
      list-style: none;
    }
  </style>
  <script src="jquery-1.12.4.js"></script>
  <script>
    $(function () {
      //1. 给li注册鼠标经过事件,让自己和前面所有的兄弟都变成实心
      var wjx_k = "☆";
      var wjx_s = "★";
      $(".comment>li").on("mouseenter", function () {
        $(this).text(wjx_s).prevAll().text(wjx_s);
        $(this).nextAll().text(wjx_k);
      });
      //2. 给ul注册鼠标离开时间,让所有的li都变成空心
      $(".comment").on("mouseleave", function () {
        $(this).children().text(wjx_k);
        //再做一件事件,找到current,让current和current前面的变成实心就行。
        $("li.current").text(wjx_s).prevAll().text(wjx_s);
      });
      //3. 给li注册点击事件
      $(".comment>li").on("click", function () {
        $(this).addClass("current").siblings().removeClass("current");
      });
    });
  </script>
</head>
<body>
<ul class="comment">
  <li>☆</li>
  <li>☆</li>
  <li>☆</li>
  <li>☆</li>
  <li>☆</li>
</ul>
</body>
</html>


each方法

jQuery的隐式迭代会对所有的DOM对象设置相同的值,但是如果我们需要给每一个对象设置不同的值的时候,就需要自己进行迭代了。

作用:遍历jQuery对象集合,为每个匹配的元素执行一个函数

// 参数一表示当前元素在所有匹配元素中的索引号
// 参数二表示当前元素(DOM对象)
$(selector).each(function(index,element){});


案例:不同的透明度


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>复制</title>
  <style>
    ul {
      list-style: none;
    }
    li {
      float: left;
      width: 200px;
      height: 200px;
      background: pink;
      text-align: center;
      line-height: 200px;
      margin: 0 20px 20px 0;
    }
  </style>
  <script src="jquery-1.12.4.js"></script>
  <script>
    $(function () {
//      for(var i = 0; i < $("li").length; i++) {
//        $("li").eq(i).css("opacity", (i+1)/10);
//      }
      //each方法
      $("li").each(function (index, element) {
        $(element).css("opacity", (index+1)/10);
      })
    });
  </script>
</head>
<body>
<ul id="ulList">
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
  <li>什么都看不见</li>
</ul>
</body>
</html>


多库共存


jQuery使用 $ 作为标示符,但是如果与其他框架中的 $ 冲突时,jQuery可以释放 $ 符的控制权.


var c = $.noConflict();//释放$的控制权,并且把$的能力给了c


<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script src="itcast.js"></script>
  <script src="jquery-1.12.4.js"></script>
  <script>
    console.log($);
    //jQuery释放$的控制权
    $.noConflict();
    jQuery(function () {
    });
  </script>
</head>
<body>
</body>
</html>
相关文章
|
3月前
|
JavaScript
jQuery 遍历 方法
jQuery 遍历 方法
38 5
|
2月前
|
XML JavaScript 数据格式
jquery中html()方法的使用
jquery中html()方法的使用
29 1
|
2月前
|
前端开发 JavaScript
jQuery - AJAX load() 方法
jQuery load() 方法是简单但强大的 AJAX 方法。
59 6
|
3月前
|
JavaScript
jQuery parentsUntil() 方法
jQuery parentsUntil() 方法
34 10
|
3月前
|
JavaScript 前端开发
jQuery 杂项方法
jQuery 杂项方法
36 2
|
3月前
|
JavaScript
jQuery 效果 方法
jQuery 效果 方法
18 3
|
3月前
|
JavaScript 前端开发
jQuery - noConflict() 方法
jQuery - noConflict() 方法
27 5
|
3月前
|
JSON 前端开发 JavaScript
jQuery AJAX 方法
jQuery AJAX 方法
42 1
|
3月前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
21 2
|
3月前
|
JavaScript
jQuery parents() 方法
jQuery parents() 方法
63 7