jQuery学习笔记1

夙愿已清 提交于 2019-12-03 02:51:52

jQuery

jQuery强大在它的选择器

概念

一个简洁的JavaScript框架,简化JS开发。
封装JavaScript常用的功能代码,提供简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

使用

前提:有jQuery的js文件,导入jquery-3.3.1.min.js文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery</title>
    <script src="js/jquery-3.3.1.min.js"></script>
</head>
<body>
    <div id="div1">文字1...</div>
    <div id="div2">文字2...</div>
    <script>
        <!--使用jQuery获取元素对象-->
        var div1 = $("#div1");
        alert(div1.html());

        var div2 = $("#div2");
        alert(div2.html());
    </script>
</body>
</html>

JQuery对象和JS对象区别与转换

  1. 使用$("")获取的对象都是jQuery对象
  2. 使用 $("")获取的对象如果是数组,那么数组中装的每个对象都是js对象
  3. 使用document.getElementByXXX()获取的对象都是js对象
  4. jQuery对象只能使用jQuery中的方法,js对象就只能使用js中的方法。
  5. js对象转成jQuery对象: $(js对象)
  6. jQuery对象转成js对象: jQuery对象.get(0)
  7. 一般情况下都是将 js转成jQuery 来使用

事件绑定

单击事件 click

jQuery中事件名称都是和js一样,只是少了on?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery</title>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script>
        $(function () {
            //js
            var b1 = document.getElementById("b1");
            b1.onclick=function (ev) {
                alert("b1");
            };

            //jQuery
            var $b2 = $("#b2");
            $b2.click(function () {
                alert("b2");
            });
        });
    </script>
</head>
<body>
    <input type="button" id="b1" value="按钮1">
    <input type="button" id="b2" value="按钮2">
</body>
</html>

双击事件 dblclick

双击左右移动?

$("#leftName > option").dblclick(function () {
	$("#rightName").append(this);
});

jQuery on(events,[selector],[data],fn)
在选择元素上绑定一个或多个事件的事件处理函数
?解决双击左右移动-原来不在的点击不了

$("#leftName").on("dblclick", "option", function () {
	$("#rightName").append(this);
});

?解决发言口QQ表情的移除,this指当前双击的img

//<p>包含请发言 和 <img>标签
$("p").on("dblclick","img",function () {
	this.remove();
});

入口函数

完整写法

$(document).ready(function () {

});

简写

$().ready(function () {

});

最简写,最推荐

$(function () {

});

window.onload 和 $(function) 区别

window.onload 只能定义一次,如果定义多次,后边的会将前边的覆盖掉
$(function)可以定义多次的

运行时机: $ (function)会比window.onload 先执行
window.onload 是在整个页面所有资源加载完毕后才会执行
$(function)是在HTML页面加载进内存形成dom树之后就会执行

样式控制:css方法

$("#div1").css("background-color","red");

?选这个吧

$("#div1").css("backgroundColor","pink"); 

相关案例

QQ表情选择

qq表情选择效果图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script  src="js/jquery-3.3.1.min.js"></script>
    <style type="text/css">
        *{margin: 0;padding: 0;list-style: none;}

        .emoji{margin:50px;}
        ul{overflow: hidden;}
        li{float: left;width: 48px;height: 48px;cursor: pointer;}
        .emoji img{ cursor: pointer; }
    </style>
    <script>
        $(function () {
            $("ul img").click(function () {
                $(".word").append($(this).clone());
            });

            //<p>包含请发言 和 <img>标签
            $("p").on("dblclick","img",function () {
                this.remove();
            });
        })
    </script>

</head>
<body>
    <div class="emoji">
        <ul>
            <li><img src="img/01.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/02.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/03.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/04.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/05.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/06.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/07.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/08.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/09.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/10.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/11.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/12.gif" height="22" width="22" alt="" /></li>
        </ul>
        <p class="word">
            <strong>请发言:</strong>
            <img src="img/12.gif" height="22" width="22" alt="" />
        </p>
    </div>
</body>
</html>

左右移动

左右移动效果图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>双击左右移动</title>
    <script  src="js/jquery-3.3.1.min.js"></script>

    <style>
        #leftName , #btn,#rightName{
            float: left;
            width: 100px;
            height: 300px;
        }
        #toRight,#toLeft{
            margin-top:100px ;
            margin-left:30px;
            width: 50px;
        }

        .border{
            height: 500px;
            padding: 100px;
        }
    </style>

    <script>
        $(function () {
            $("#toRight").click(function () {
                $("#rightName").append($("#leftName > option:selected"));
            });

            $("#toLeft").click(function () {
                $("#leftName").append($("#rightName > option:selected"));
            });


            // $("#leftName > option").dblclick(function () {
            //     $("#rightName").append(this);
            // });

            // $("#rightName > option").dblclick(function () {
            //     $("#leftName").append(this);
            // });

            //解决:原来不在的点击不了
            $("#leftName").on("dblclick", "option", function () {
                $("#rightName").append(this);
            });

            $("#rightName").on("dblclick", "option", function () {
                $("#leftName").append(this);
            });
        });
    </script>
</head>
<body>
    <div class="border">

    <select id="leftName" multiple="multiple">
        <option>张三</option>
        <option>李四</option>
        <option>王五</option>
        <option>赵六</option>
    </select>

    <div id="btn">
        <input type="button" id="toRight" value="-->"><br>
        <input type="button" id="toLeft" value="<--">
    </div>

    <select id="rightName" multiple="multiple">
        <option>钱七</option>
    </select>
    </div>
</body>
</html>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!