5 JQuery

一、什么是JQuery

1.1 JQuery 介绍

JQuery 是一个快速、小型且功能丰富的 JavaScript 库。它使像HTML文档的遍历和操作,事件处理,动画和Ajax的东西简单得多,一个易于使用的API,适用于众多浏览器。jQuery 结合了多功能性和可扩展性,改变了数百万人编写 JavaScript 的方式。
image.png

Write Less Do more

1.2 资料

image.png

官网 https://jquery.com/
API 手册 https://jquery.cuishifeng.cn/

1.3 JQuery 使用方法

1.3.1 下载Jquery库

image.png

1.3.2 在线CDN引入

1.3.3 第一个JQuery程序
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/jquery-3.6.0.js"></script>
</head>
<body>
    <div id="box" style="border: 1px solid;width: 200px;height: 40px"></div>
    <script>
        $( function () {
            // alert('cao')
            //var obj = document.getElementById("box");
            //obj.style.backgroundColor="red";
            $("#box").css('background-color','yellow').width(1000);
        });
    
 
    </script>
</body>
</html>

二、JQuery 选择器

jquery 选择元素的方法就是css选择器,除外还提供了更加灵活的选择方法。

2.1 常用选择器

ID 类选择器
$('#id') 

2.2 Class 类选择器
$('.className')

2.3 元素选择器
$('tagName')

2.4 属性选择器
$("selector[attr='value']")   
$("a[href='http://www.baidu.com']")

2.5 层级选择
$("selector > selector ")

2.2 其他选择器

2.2.1 过滤(了解)
$("selector:first")   
$("selector:last")
$("selector:eq(index)")

2.2.1 表单(了解)
$("input:text")
$("input:checkbox")

2.2.2 状态(了解)
$("input:checked")
$("input:disabled")

三、JQuery 事件

3.1 事件绑定

3.1.1 on 通用事件绑定
obj.on('事件类型',回调函数)
obj.on('click',function(e){
   此处写点击后需要做的逻辑代码。
})

//以前
obj.addeventLinsterner( 'click', 回调 )
obj.on('click', 回调)

one 一次性事件,事件只会触发一次。

3.2.1 off 取消事件
obj.off('事件类型')
obj.off('click')

3.2.2 trigger 触发器
obj.trigger('事件类型') 
$('.box:last').trigger('click');

3.3 快捷事件

四、JQuery Dom编程

4.1 Js对象与JQuery对象

DOM

<ul>
  <li>小刘</li>
  <li>王鑫</li>
  <li>小郭</li>
</ul>

JS

$(function(){
  // lis 是一个JQuery DOM对象,就是JQuery提供的对象,或者说经过jquery包装过的对象 ,
  // 可以使用JQuery方法。
  var lis= $("ul li"); 
  //lis.css('color','red');

  // lis[i]元素不是一个JQuey对象,一旦对JQuery对象使用[下标] 或者 get(下标),获得的元素就是一个原生的JS对象,
  // 原生JS DOM对象无法调用JQuery的方法, 可以使用原生的DOM属性和方法。
  //lis[1].css('color','green');
  lis.get(1).style.color='green';

  
  // JS 对象 转 JQuery对象  $( js对象 )
  var jsobj = lis.get(1);
  $(jsobj).css('color','yellow')

})

4.2 样式控制

4.2.1 css( )

类似于与style属性的作用

4.2.2 单个样式
$("div").css('color','green').css('background-color','red'); //控制单个属性可级联调用

4.2.3 多个样式
$("div").css({'color':'green','background-color':'red' }); //控制多个属性

4.2.4 addClass()
.ac{
  color:gold;
  background-color: #FF0000;
  border: 10px solid green;
}

$("div").addClass('ac');

4.2.5 removeClass()
$("div").on('click',function(e){
  $("div").removeClass('ac');
});

4.2.6. toggleClass()
$("div").on('click',function(e){
   $("div").toggleClass('ac');
});		

4.3 值内容

类与 innerText innerHTML value 的作用

4.3.1 text( [content] )

a. 取值

$(function(){
  //取值(忽略标签和样式)
  var xx=  $("div").text();  
  console.log(xx)
})

 

b. 赋值

$(function(){

  //赋值 (标签不被解析,视为文本)
  $("div").text( "<h1>hello jquery</h1>"  )

})

4.3.2 html([content])
$(function(){
  //取值(连同标签和样式)
  var xx=  $("div").html();  
  console.log(xx)

  //赋值 (标签被解析)
  $("div").html( "<h1>hello jquery</h1>"  )

})

4.3.3 val([content])
$(function(){
  //取值
  var xx =  $("input[name='username']").val();
  console.log(xx)
  //赋值
  $("input[name='username']").val("tomcat");
})

4,4 属性

4.4.1 attr()
//赋值
$("a").attr('href','http://www.baidu.com');
//取值
var vv =  $("a").attr('href');
alert(vv);

prop() 修改boolean类型属性

4.5 查找

DOM

<ul>
  <li class="x">李阳</li>
  <li >席端</li>
  <li>赵梦非</li>
  <li id="son" >冉潘</li>
  <li class="x">刘备</li>
  <li>关羽</li>
  <li class="x">张飞</li>
</ul>

4.5.1 children()

先找到父级节点,通过次方法可以获得该节点全部的后代节点。

$(function(){
  //全部的子节点
  var arr= $("ul").children();
  $( arr[0] ).css('color','red');
})

4.5.2 parent()

先找到其中的一个子节点,通过次方法可以获得该子节点的直接父级节点,全部的父级节点通过示例中其他方法也可获得。

$(function(){
  $("#son").parent().css('border','1px solid red'); //直接父级
  $("#son").parents().css('border','1px solid red'); //全部父级
  $("#son").parentsUntil("html").css('border','1px solid red'); //全部父级直到 什么为止。
}

4.5.3 prev()

先找到其中的一个子节点,通过次方法可以获得该子节点前一个节点,前面的全部节点通过示例中其他方法也可获得。

$(function(){
  $("#son").prev().css('color','red'); //前一个
  $("#son").prevAll().css('color','red');//前全部
  $("#son").prevUntil('.x').css('color','red');//前全部直到 .x为止
})

4.5.3 next()

先找到其中的一个子节点,通过次方法可以获得该子节点后一个节点,后面的全部节点通过示例中其他方法也可获得。

$("#son").next().css('color','red');  // 后一个
$("#son").nextAll().css('color','red');//后全部
$("#son").nextUntil('.x').css('color','red');//后全部直到 .x为止

4.5.4 siblings()

先找到其中的一个子节点,通过次方法可以获得该子节点同级的其他节点。

$("#son").siblings().css('border','1px solid red');

4.5.5 find( 选择器 )

obj.find(“td”) 在obj内部选择td元素

4.6 添加

4.6.1 内部添加

指的是在指定容器的内部添加新的节点
image.png

  • append( content ) & prepend( content )
obj.append("html代码" ) //内容追加
obj.prepend("html代码" ) //顶部插入
  • appendTo( selector ) & prependTo( selector )
$("html代码").appendTo( '.box' );
$("html代码").prependTo( '.box' );

两组api 作用一致, 第一组是容器调用api 添加新增节点 , 第二组是 新增节点调用api 添加到指定的选择器中。

4.6.2 外部添加

指的是在指定容器外部同级,前后添加新节点。
image.png

  • after() & before()
obj.after( "html代码" ) //在obj后面添加新节点
obj.before("html代码" ) //在obj前面添加新节点
  • insertAfter() insertBefore()
$( "html代码" ).insertAfter("选择器")  //在obj后面添加新节点
$( "html代码" ).insertBefore("选择器") //在obj前面添加新节

这两组api 作用也是一样的,区别在于前者是容器节点调用,后者是新增节点调用。

4.7 替换

  • replaceWith( content )
obj.replaceWith( "新html代码" ) // 把obj替换为新的html
  • replaceAll( selector )
$("新的html代码").replaceAll('选择器')

4.8 删除

  • remove()
obj.remove() //移除obj,移除自身。
  • empty()
obj.empty() //清空obj的内容, 移除的是全部儿子,自己会保留。

4.9 复制

  • clone()
//克隆的dom
var cloneDom =   obj.clone();
//插入到其他位置
cloneDom.insertBefore('选择器')

clone( true ) 深度克隆,可以复制事件

4.10 包裹

  • wrap() 为选择元素分别添加指定包裹层
  • wrapAll() 把所有元素用一个包裹层
//包裹
$("#btn-warp").click( function (){
  // $("#box img").wrap("<div style='padding: 4px;border: 1px solid #ccc;display: inline-block;background-color: white ';></div>");
  $("#box img").wrapAll( "<div style='padding: 4px;border: 1px solid #ccc;display: inline-block;background-color: white ';></div>" );
});

五、JQuery 动画

5.1 可见性

<button onclick="$('.box').show()">显示</button>
<button onclick="$('.box').hide()">隐藏</button>
<button onclick="$('.box').toggle()">显示隐藏切换</button>

5.2 淡入淡出

<button onclick="$('.box').fadeIn(1000)">淡入</button>
<button onclick="$('.box').fadeOut(1000)" >淡出</button>
<button onclick="$('.box').fadeToggle()">淡入淡出切换</button>

5.3 展开折叠

<button  onclick="$('.box').slideUp()" >上拉</button>
<button  onclick="$('.box').slideDown()" >下拉</button>
<button onclick="$('.box').slideToggle()">上下拉切换</button>

5.4 自定义

<button onclick="$('.box').animate({'width':'0px'},2000)">自定义</button>

综合实例

<body>
		<button onclick="$('.box').show()">显示</button>
		<button onclick="$('.box').hide()">隐藏</button>
		<button onclick="$('.box').toggle()">显示隐藏切换</button>
		<button onclick="$('.box').fadeIn(1000)">淡入</button>
		<button onclick="$('.box').fadeOut(1000)" >淡出</button>
		<button onclick="$('.box').fadeToggle()">淡入淡出切换</button>
		<button  onclick="$('.box').slideUp()" >上拉</button>
		<button  onclick="$('.box').slideDown()" >下拉</button>
		<button onclick="$('.box').slideToggle()">上下拉切换</button>
		<button onclick="$('.box').animate({'width':'0px'},2000)">自定义</button>
		<div class="box"> 示例动画 </div>
	</body>

六、JQuery 插件机制

6.1 全局扩展

$.extend({
  sayHello(){
    alert('hello')
  }
})
//调用
$.sayHello();

相当于为$ 类级别的方法扩展。

6.2 实例扩展

$.fn.extend({
         sayGoodBye(){
             alert('world');
         }
});
//调用
$("xx").sayGoodBye();

相当于 为 jquery 对象级别的方法扩展。

基于C++&OPENCV 的全景图像拼接 C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的扩展,旨在提供更强大的编程能力,包括面向对象编程和泛型编程的支持。C++支持数据封装、继承和多态等面向对象编程的特性和泛型编程的模板,以及丰富的标准库,提供了大量的数据结构和算法,极大地提高了开发效率。12 C++是一种静态类型的、编译式的、通用的、大小写敏感的编程语言,它综合了高级语言和低级语言的特点。C++的语法与C语言非常相似,但增加了许多面向对象编程的特性,如类、对象、封装、继承和多态等。这使得C++既保持了C语言的低级特性,如直接访问硬件的能力,又提供了高级语言的特性,如数据封装和代码重用。13 C++的应用领域非常广泛,包括但不限于教育、系统开发、游戏开发、嵌入式系统、工业和商业应用、科研和高性能计算等领域。在教育领域,C++因其结构化和面向对象的特性,常被选为计算机科学和工程专业的入门编程语言。在系统开发领域,C++因其高效性和灵活性,经常被作为开发语言。游戏开发领域中,C++由于其高效性和广泛应用,在开发高性能游戏和游戏引擎中扮演着重要角色。在嵌入式系统领域,C++的高效和灵活性使其成为理想选择。此外,C++还广泛应用于桌面应用、Web浏览器、操作系统、编译器、媒体应用程序、数据库引擎、医疗工程和机器人等领域。16 学习C++的关键是理解其核心概念和编程风格,而不是过于深入技术细节。C++支持多种编程风格,每种风格都能有效地保证运行时间效率和空间效率。因此,无论是初学者还是经验丰富的程序员,都可以通过C++来设计和实现新系统或维护旧系统。3

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值