JAVAEE之jQuery

本文详细介绍jQuery的基本使用方法,包括选择器、事件处理、DOM操作等内容,并介绍了jQuery的链式操作特性及常见插件拓展机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述
jQuery的编程模式:1、选择对象 2、do something

4、jQuery注册事件[重点]
(1)常用事件与原生JS中的事件是一样的,但注册方式不一样;
(2)jQuery事件注册方式:

 jQuery对象.事件(fn);  ----- 理解 this 关键字

 jQuery对象.on(事件,fn) ----- 注册任意事件

5.重点掌握datagrid控件
1、DataGrid所展示的数据有格式
— 如果不需要分页,只需要传一个集合对象就可以了;
— 如果需要分页,数据格式必须
{“total”:28,”rows”:[]}
导入easyui必要的文件
1、下载 easyui 包; (demo|locale(本地化)|themes(皮肤)|easyloader.js|jquery.easyui.min.js|jquery.min.js)
2、将 easyui 放到工程中(保留必要的项)
3、页面中需要导入的 easyui 文件
– jquery
– jquery.easyui.min.js
– locale文件夹下的:easyui-lang-zh_CN.js
– css:
     themes/default /easyui.css
     themes/icon.css

简介

jQuery创始人是美国John Resig,是优秀的Javascript框架;
jQuery是一个轻量级、快速简洁的javaScript库。   
jQuery对象
  jQuery产生的对象时jQuery独有的,只能自己调用
书写规则
支持链式操作;
在变量前加”var”符号(var variable = jQuery 对象);
注:此规定并不是强制要求。

选择器

$('li:first')  //第一个元素
$('li:last') //最后一个元素

$("tr:even")  //索引为偶数的元素,从0开始
$("tr:odd")   //索引为奇数的元素。从0开始

$("tr:eq(1)") //给定索引值的元素
$("tr:gt(0)") //大于给定索引值的元素
$("tr:lt(2)")  //小于给定索引值的元素

$(":focus")  //当前获取焦点的元素
$(":animated") //正在执行动画效果的元素

内容选择器

$("div:contains('nick')") //包含nick文本的元素
$("td:empty")  //不包含子元素或文本的空元素
$("div:has(p)") //含有选择器所匹配的元素
$("td:parent")  //含有子元素或者文本的元素

表单选择器

$(":input") //包含所有input,textarea,select和button元素
$(":text") //所有的单行文本框
$(":password") //所有的密码框
$(":radio")  //所有单选按钮
$(":checkbox")  //所有复选框
$(":submit")  //所有提交按钮
$(":file")   //所有文件域

$("input:checked") //所有选中的元素
$("select option:selected") //select所有选中option元素

筛选器

过滤

$("p").eq(0)  //当前操作第N个jQuery对象,类似索引
$('li').first()  //第一个元素
$('li').last   //最后一个元素
$(this).hasClass("test") //元素是否含有某个特定的类,返回布尔值
$('li').has('ul')  //包含特定后代的元素

查找

$("div").children()  //div中的每个子元素,第一层
$("div").find("span")  //div中的包含所有span元素,子子孙孙

$("p").next() //紧邻p元素后的一个同辈元素
$("p").nextAll() //p元素之后所有的同辈元素
$("#test").nextUntil("#test2") //id为“#test”元素之后到id为“#test2”之间所有同辈元素。掐头去尾

$("div").siblings()  //所有同辈元素,不包括自己

属性操作

基本属性操作

$("img").attr("src"); //返回文档中所有图像的src属性
$("img").attr("src","test.jpg");//设置所有图像的src属性
$("img").removeAttr("src");//将文档中图像的src属性删除

$("input[type = 'checkbox']").prop("checked",true);//选中复选框
$("input[type= 'checkbox']").prop("checkbox",false);
$("img").removeProp("src"); //删除img的src属性

CSS类

$("p").addClass("seleted");//为p元素加上'selected'$("p").removeClass("selected"); //从p元素中删除'selected'$("p").toggleClass("selected"); //如果存在就删除,否则就添加

HTML代码/文本/值

$('p').html();  //返回p元素的html内容
$("p").html("hello <b>nick</b>");//设置p元素的html内容
$('p').text(); //返回p元素的文本内容
$('p').text("nick");//设置p元素的文本内容
$("input").val(); //获取文本框中的值
$("input").val("nick"); //设置文本框的内容

CSS操作

样式

$("p").css("color"); //访问查看p元素的color元素
$("p").css("color","red"); //设置p元素的color属性为red
$("p").css("color":"red","background":"yellow")

位置

$('p').offset() //元素在当前视口的相对偏移,Object {top: 122, left: 260}
$('p').offset.top
$('p').offset.left
$("p").position() //元素相对父元素的偏移,对可见元素有效,Object {top: 117,left: 250}

$(window).scrollTop();  //获取滚轮滑的高度
$(window).scrollLeft();  //获取滚轮滑的宽度
$(window)/scrollTop('100') //设置滚轮滑的高度为100

尺寸

$("p").height(); //获取P元素的噶偶氮
$("p").width(); //获取p元素的宽度

$("p:first").innerHeight() //获取第一个匹配元素内部区域高度(包括补白、不包括边框)
$("p:first").innerWidth() //获取第一个匹配元素内部区域宽度(包括补白、不包括边框)

$("p:first").outHeight() //匹配元素外部高度(默认包括补白和边框)
$("p:first").outerWidth() //匹配元素外部宽度(默认包括补白和边框)
$("p:first").outerHeight(true) //为true时包括边框

文档处理

内部插入

$("p").append("<b>nick</b>"); //每个p元素内后面追加内容
$("p").appendTo("div"); //p元素追加到div内后
$("p").prepend("<b>hellow</b>"); //每个p元素内前面追加内容
$("p").prependTo("div");//p元素追加到div内前

外部插入

$("p").after("<b>nick</b>") //每个p元素同级之后插入内容
$("p").before("<b>nick</b>") //每个p元素同级之前插入内容
$("p").insertAfter("#test");//在所有p元素插入到id为test元素的后面
$("p").insertBefore("#test");//在所有p元素插入到id为test元素的前面

替代

$("p").replaceWith("<b>nick</b>") //将所有匹配的元素替换成指定的HTML或DOM元素
$("<b>nick</b>").replaceAll("p") //用匹配的元素替换所有selector匹配到的元素

删除

$("p").empty(); //删除匹配的元素集合中所有的子节点,不包括本身
$("p").removr(); //删除所有匹配的元素,包括本身
$("p").detach(); //删除所有匹配的元素(和remove()不同的是:所有绑定的事件、附加的数据会保留下来)

复制

$("p").clone()  //克隆元素并选择克隆的副本
$("p").clone(true) //布尔值事件处理函数是否会被复制 

事件

页面载入
当页面载入成功后再运行的函数事件

$(document).ready(function(){
  do something..
});
//简写
 $(function($){
   do something...
});

页面处理

//bind 为每个匹配元素绑定事件处理函数,绑定多个用{}
$("p").bind("click",function(){
  alert( $(this).text() );
});
$(menuF).bind({
  "mouseover":function() {
   $(menuS).parent().removeClass("hide");
   },"mouseout":function () {
    $(menuS).parent().addClass("hide");
    }
});

$("p").one( "click", fun...) //one 绑定一个一次性的事件处理函数
$("p").unbind("click") 解绑一个事件

页面委派

//与bind 不同的是当时间发生时才去临时绑定。
$("p").delegate("click",function(){
   do something...
});

$("p").undelegate(); //p元素删除由delegate() 方法添加的所有事件
$("p").undelegate("click") //从p元素删除由delegate() 方法添加的所有click事件

事件

$("p").click(); //单击事件
$("p").dblclick(); //双击事件
$("input[type=text]").focus() //元素获得焦点时,触发focus事件
$("input[type=text]").blur() //元素失去焦点时,触发blur事件
$("button").mousedown()  //当按下鼠标时触发事件
$("button").mouseup() //当元素上放松鼠标按钮时触发事件
$("p").mousemove() //当鼠标指针在指定的元素中移动时触发事件
$("p").mouseover() //当鼠标指针位于元素上方时触发事件
$("p").mouseout()  //当鼠标指针从元素上移开时触发事件
$(window).keydown() //当键盘或按钮被按下时触发事件
$(window).keypress() //当键盘或按钮被按下时触发事件,每输入一个字符都要触发一次
$("input").keyup() //当按钮被松开时触发事件
$(window).scroll() //当用户滚动时触发事件
$(window).resize() //当调整浏览器窗口大小时触发事件
$("input[type='text']").change()    //当元素的值发生改变时触发事件
$("input").select()    //当input 元素中的文本被选择时触发事件
$("form").submit()     //当提交表单时触发事件
$(window).unload()     //用户离开页面时

(event object)对象
所有的事件函数都可以传入event参数方便处理事件

$("p").click(function(event){
   alert(event.type); //"click"
});

(event object)属性方法

event.pageX //事件发生时,鼠标距离网页左上角的水平距离
event.pageY   //事件发生时,鼠标距离网页左上角的垂直距离
event.type   //事件的类型
event.which   //按下了哪一个键
event.data   //在事件对象上绑定数据,然后传入事件处理函数
event.target  //事件针对的网页元素
event.preventDefault()  //阻止事件的默认行为(比如点击链接,会自动打开新页面)
event.stopPropagation()  //停止事件向上层元素冒泡

效果

基本

$("p").show()        //显示隐藏的匹配元素
$("p").show("slow");    //参数表示速度,("slow","normal","fast"),也可为900毫秒
$("p").hide()        //隐藏显示的元素
$("p").toggle();      //切换 显示/隐藏

滑动

$("p").slideDown("900");    //900毫秒时间将段落滑下
$("p").slideUp("900");     //900毫秒时间将段落滑上
$("p").slideToggle("900");  //900毫秒时间将段落滑上,滑下

淡入淡出

$("p").fadeIn("900");        //900毫秒时间将段落淡入
$("p").fadeOut("900");       //900毫秒时间将段落淡出
$("p").fadeToggle("900");     //900毫秒时间将段落淡入,淡出
$("p").fadeTo("slow", 0.6);    //900毫秒时间将段落的透明度调整到0.6

对象访问

$.trim() //去除字符串两端的空格
$.each() //遍历一个数组或对象,for循环
$.inArray() //返回一个值在数组种的索引位置,不存在返回-1
$.grep()   //返回数组中符合某种标准的元素
$.extend()  //将多个对象,合并到第一个对象
$.makeArray() //将对象转化为数组
$.type()    //判断对象的类别(函数对象、日期对象、数组对象、正则对象等等
$.isArray() //判断某个参数是否为数组
$.isEmptyObject() //判断某个对象是否为空(不含有任何属性)
$.isFunction()    //判断某个参数是否为函数
$.isPlainObject() //判断某个参数是否为用"{}"或"new Object"建立的对象
$.support()       //判断浏览器是否支持某个特性

插件拓展机制

//方式一
jQuery.fn.extend({
  check: function() {
    return this.each(function() { this.checked = true; });
   },
   uncheck: function() {
      return this.each(function() { this.checkded = false; });
    }
});

$("input[type=checkbox]").check();
$("input[type=checkbox]").uncheck();
//方式二
jQuery.extend( {
  min: function(a, b) { return a < b ? a : b;},
  max: function(a, b) { return a > b ? a : b;}
});

jQuery.min(2,3); //2
jQuery.max(4,5); //5
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div class="title">111</div>
    <div class="title">222</div>

    <script src="../../jquery-1.12.4.js"></script>
    <script>
        jQuery.fn.extend({
            show1: function () {
                var val = this.text();
                val = val + "sb";
                return val;
            },
            show2: function () {

            }
        });
        var ret = $(".title").show1();
        console.log(ret);


        jQuery.extend({
            s1: function (arg) {
                var val = $(arg).text();
                return val + "sb";
            },
            s2: function () {

            }
        });
        var ret2 = $.s1(".title");
        console.log(ret2);
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值