首页 > 其他分享 >jQuery快速入门

jQuery快速入门

时间:2023-07-24 18:55:29浏览次数:45  
标签:jQuery console 入门 元素 var div 快速 log

jQuery库

一般称之为jQuery库,不要称为框架,

  库类似于Python中的模块,简称jq

  jQuery就是js、css等的封装版,只要已封装,写法肯定简单一些

 

jQuery介绍

jQuery是一个轻量级的、兼容多浏览器的JavaScript库。# 他就是一个封装好的js文件,几十KB大小

前端的最大问题就是兼容性问题,需要兼容各个浏览器,这句话的意思就是以后你使用jQuery,就不用关心兼容性问题了,他们内部已经做好了.

它的宗旨:“Write less, do more.“

 

jQuery的优势
1. 一款轻量级的JS框架。jQuery核心js文件才几十kb,不会影响页面加载速度。
2. 丰富的DOM选择器,jQuery的选择器用起来很方便,比如要找到某个DOM对象的相邻元素,JS可能要写好几行代码,而jQuery一行代码就搞定了,再比如要将一个表格的隔行变色,jQuery也是一行代码搞定。
3. 链式表达式。jQuery的链式操作可以把多个操作写在一行代码里,更加简洁。
4. 事件、样式、动画支持。jQuery还简化了js操作css的代码,并且代码的可读性也比js要强。
5. Ajax操作支持。jQuery简化了AJAX操作,后端只需返回一个JSON格式的字符串就能完成与前端的通信。
6. 跨浏览器兼容。jQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。

 

jQuery何如何使用
官方网站:https://jquery.com/
中文文档:https://jquery.cuishifeng.cn/

https://www.bootcdn.cn/------>下载jquery、bootstrap、vue等文件

 

jQuery版本
● 1.x:兼容IE678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)
● 2.x:不兼容IE678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)
● 3.x:不兼容IE678,只支持最新的浏览器。需要注意的是很多老的jQuery插件不支持3.x版。目前该版本是官方主要更新维护的版本。

 

使用方式:
1. 直接引入外链的js库
2. 把jQuery文件直接下载到本地,通过本地引入, 推荐该方式

 

什么是CDN:加快我们的加载文件的速度

 

jQuery对象

1. jQuery对象:jQuery对象就是通过jQuery包装DOM对象后产生的对象
  如果你是jQuery对象,那么就可以使用jQuery提供的很多方法
2. 标签对象:直接就是通过各种选择器得到的标签
  标签对象不能够直接使用jQuery库提供的很多方法

 

$("#i1").html()的意思是:获取id值为 i1的元素的html代码。其中 html()是jQuery里的方法。

相当于: document.getElementById("i1").innerHTML;

 

虽然 jQuery对象是包装 DOM对象后产生的,但是 jQuery对象无法使用 DOM对象的任何方法,同理 DOM对象也没不能使用 jQuery里的方法。

 

$("#i1").html();拿到id为i1的文本内容

 

$的含义
jQuery("#i1").html();
$("#i1").html();

<body>
<div id="d1" class="c1">你好呀</div>
<script>
    var div=document.getElementById('d1').innerText //JS获取文本方法
    console.log(div)
    var div1=$('#d1').html() //jQ获取文本方法
    console.log(div1)
</script>
</body>

 

以上两行代码的意思是一样的
jQuery === $

以后的代码里都使用$符号代替jQuery
jQuery基础语法
jQuery("selector").action();
$("selector").action();

 

 jQuery的学习步骤
1. 先学会如何查找标签
2. 找到标签之后再做相对于的操作

 

基本选择器

id 、class、标签选择器

var div1=$("#d1");------->s.fn.init[div#]------>jQuery对象
var div = document.getElementById('d1');--->拿到的是一个标签对象

 

jQuery对象和标签对象之间的相互转换

jQuery对象转为标签对象----------------->直接通过索引取值得到标签对象
标签对象转为jQuery对象----------------->$(document.getElementById('d1')) --->使用jQuery把DOM抱起来--------------->就可以使用jQuery提供的方法了

<body>
<div id="d1" class="c1"></div>
<div id="d2" class="c1"></div>
<div id="d3" class="c1"></div>
<script>
    var div1=document.getElementsByClassName('c1');//JS获取标签
    console.log($(div1));JS转化为jQ
    var div2=$('.c1');jQ获取标签
    console.log(div2)
</script>
</body>

 

配合使用

$("div.c1") // 找到有c1 class类的div标签
$('div#d1')// 找到有id为d1的div标签

 

通用选择器

#("*")

 

组合选择器

$("#id, .className, tagName")
$('#d1,.c1,p')  # 并列+混用
$('div span')  # 后代
$('div>span')  # 儿子
$('div+span')  # 毗邻
$('div~span')  # 弟弟

 

案例

<div id="d2" class="c2"></div>
<div id="d3" class="c2"></div>
<script>
    var div1 = $('#d1,.c1,div') // 并列+混用
    console.log(div1)
    var sp = $('div span') // div的后代span
    console.log(sp)
    var sp1 = $('div>span') // div的儿子
    console.log(sp1)
    var sp2 = $('#d1+div') //id为d1的div的邻居
    console.log(sp2)
    var sp3 = $('#d1~div') //id为d1的div的兄弟
    console.log(sp3)
</script>

基本筛选器

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index) // 匹配所有大于给定索引值的元素 # gt ---> greater than
:lt(index) // 匹配所有小于给定索引值的元素 # lt----> less than
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
复制代码

 

案例

<body>
<div id="d1">
    <ul id="u1">
        <li class="l1" id="l1">1</li>
        <li class="l1" id="l2">2</li>
        <li class="l1" id="l3">3</li>
        <li class="l1" id="l4">4</li>
        <li class="l1" id="l5">5</li>
    </ul>
</div>
<script>
    var ul1 = $("ul li:first")
    console.log(ul1)
    var ul2 = $("ul li:last")
    console.log(ul2)
    var ul3 = $("ul li:eq(2)")
    console.log(ul3)
    var ul4 = $("ul li:even")
    console.log(ul4)
    var ul5 = $("ul li:odd")
    console.log(ul5)
    var ul6 = $("ul li:gt(1)")
    console.log(ul6)
    var ul7 = $("ul li:lt(1)")
    console.log(ul7)
    var ul8 = $("ul li:not(#l1)")
    console.log(ul8)
    var ul9 = $("li:has(.l1)")
    console.log(ul9)
</script>
</body>

结果

 

属性选择器

[attribute]
[attribute=value]// 属性等于
[attribute!=value]// 属性不等于

案例

<body>
<div>
    <input type="text" id="t1">
    <input type="password" id="p1">
    <input type="checkbox" id="c1">
</div>
<script>
    var t = $("input[type='text']")
    console.log(t)
    var p= $("input[type!='text']")
    console.log(p)
</script>
</body>

结果

 

表单筛选器

:text
:password
:file
:radio
:checkbox
:submit
:reset
:button
:enabled 可用的
:disabled 禁用的
:checked 单选框选定的
:selected 复选框选定的
 

案例

<body>
<form action="">
    <input type="text" id="i1" class="i1">
    <input type="password" id="i2" class="i1">
    <input type="file" id="i3" class="i1">
    <input type="radio" id="i4" class="i1" checked>男
    <input type="radio" id="i9" class="i1">女
   <select id="s1">
       <option value="beijing">北京市</option>
       <option value="shanghai" selected="selected">上海市</option>
       <option value="guangzhou">广州市</option>
       <option value="shenzhen">深圳市</option>
    </select>
    <input type="submit" id="i6" class="i1">
    <input type="reset" id="i7" class="i1">
    <input type="button" id="i8" class="i1">
</form>

<script>
    console.log($(":checkbox"))
    console.log($("input[type='checkbox']"))
    console.log($("input:enabled"))
    console.log($("input:disabled"))
    console.log($(":selected"))  // 找到所有被选中的option
    console.log($(':checked'))  //它会将checked和selected都拿到
    $(':selected')  //它不会 只拿selected
</script>
</body>

结果

 

筛选器方法

下一个元素:
$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")


上一个元素:
# previous
$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")

父亲元素:
js: parentElement.parentElement.parentElement.parentElement

jq:
$("#id").parent().parent().parent().parent().parent().parent().parent();
$("#id").parents()  // 查找当前元素的所有的父辈元素
$("#id").parentsUntil() // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。

儿子和兄弟元素:
儿子元素:children, siblings
jq: 
$("#id").children()[0];// 儿子们
$("#id").siblings();// 兄弟们

案例

<body>
<div id="d1" class="c1"></div>
<div id="d2" class="c1"></div>
<div id="d3" class="c1"></div>
<div id="d4" class="c1"></div>
<div id="d5" class="c1"></div>
<script>
    var d = $("#d1")
    console.log(d.next())
    console.log(d.nextAll())
    console.log(d.nextUntil())
    console.log(d.parent())
    console.log(d.parents())
    console.log(d.children())
    console.log(d.siblings())

</script>
</body>
查找(掌握)
$("div").find("p")----------------->等价于$("div p")
$("div p").find("a")----------------->等价于$("div p a")
$("#d1 .c1").find("a")----------------->等价于$("#d1 .c1 a")

补充:
.first() // 获取匹配的第一个元素
      $('div span:first')-------------->$('div span').first()
.last() // 获取匹配的最后一个元素
      $('div span:last')----------------->$('div span').last()
.not() // 从匹配元素的集合中删除与指定表达式匹配的元素
      $('div span:not("#d3")') --------------->$('div span').not('#d3')
.has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
.eq() // 索引值等于指定值的元素

$("ul li:eq(2)")--------------------------->$("ul li").eq(2);
$("div span:eq(2)")--------------------------->$("div span").eq(2);

操作标签

样式操作

  JS:classList.add、remove、containes、toggle

  addClass();// 添加指定的CSS类名。
  removeClass();// 移除指定的CSS类名。
  hasClass();// 判断样式存不存在
  toggleClass();// 切换CSS类名,如果有就移除,如果没有就添加。

 

文本操作

  JS:innerText  innerHtml

  html()// 取得第一个匹配元素的html内容
  html(val)// 设置所有匹配元素的html内容

  text()// 取得所有匹配元素的内容
  text(val)// 设置所有匹配元素的内容

案例

<input type="checkbox" value="basketball" name="hobby">篮球
<input type="checkbox" value="football" name="hobby">足球

<select multiple id="s1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
设置值:

  $("[name='hobby']").val(['basketball', 'football']);
  $("#s1").val(["1", "2"])

 

 

属性操作

  attr(attrName)// 返回第一个匹配元素的属性值
  attr(attrName, attrValue)// 为所有匹配元素设置一个属性值
  attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性值
  removeAttr()// 从每一个匹配的元素中删除一个属性

案例

<input type="checkbox" value="1">
<input type="radio" value="2">
<input type="checkbox" id="i1" value="1">
<script>
  $(":checkbox[value='1']").prop("checked", true);
  $(":radio[value='2']").prop("checked", true);
</script>


$("#i1").attr("checked")  // undefined
$("#i1").prop("checked")  // false

 

记住

如果你设置或者获取单选框和复选框的属性值的时候,就使用prop()
除此之外,获取属性和设置属性都使用attr()

 

prop和attr的区别

attr全称attribute(属性)

prop全称property(属性)

虽然都是属性,但他们所指的属性并不相同,attr所指的属性是HTML标签属性,而prop所指的是DOM对象属性,可以认为attr是显式的,而prop是隐式的

 

标签:jQuery,console,入门,元素,var,div,快速,log
From: https://www.cnblogs.com/shanghaipudong/p/17578057.html

相关文章

  • Node.js入门 - 永恒的Hello World!
    文章原作者为LeeJacobson,已经作者授权翻译用于非商业用途。介绍 这是我的关于Node.js系列入门教程的第一篇。必须说明一下,我并不是Node.js的专家,但是尝试向别人解释这是怎么回事是自我学习的一个好方法。如果你发现有些地方并不是那么正确,请提出来让我知道以便修正,谢之。 最近......
  • 15款提高表格操作的jQuery插件
       table表格由于它的浏览器兼容性和复杂的标签嵌套方式,可以算是添加样式最困难的对象之一了。大多数前端er都把网页中的table标签替换为div,主要就是因为div要比table更容易添加CSS样式。但是我们在日常应用中仍然要用到table表格,其中最好的例子就是对照表。今天彬Go将向大家......
  • jQuery水印插件 - Watermark 和 FormWatermark
    FormWatermark是一个跨浏览器的可以给表单文本框和文本区域增加水印的插件,使用FormWatermark给表单增加水印提示功能,这有助于提高用户交互和友好度,如果配合jQuery插件Validation可提供强大的用户体验,FormWatermark使用简单,效果图如下: 使用说明需要使用jQuery库文件和Form......
  • 30+ 新鲜惊奇的 jQuery 插件与教程
    在网络发展领域,由于jQuery简单易学,易于使用和易于扩展的特点,因此正慢慢变得无处不在。以下是从一些jQuery相关文章中整理出来的30+新鲜与惊奇的jQuery插件与教程。如果你正在寻找最新的jQuery信息,这些内容值得一读。教程1.Howtoaddpreloaderwithloadingimagein......
  • QT从入门到实战完整版 P38
    手动调用绘图事件widget.h#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>QT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACEclassWidget:publicQWidget{Q_OBJECTpublic:Widget(QWidget*parent=nullptr);~Widget();......
  • 【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)
    DEMO: http://sources.ikeepstudying.com/menu-mail-qq/ 一、这是什么样的一个插件我们都知道,默认状态下,我们右键web页面,会出现一个上下文菜单,例如下图:【jQuery】smartMenu右键自定义上下文菜单插件(似webQQ)但是,浏览器默认的右键选项有时候并不是我们所需要的,......
  • 从入门到高深,史上最全的Spark综合帖
     什么是SparkSpark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于......
  • 快速检测HTTP代理IP是否有效的方法及python代码示例
     1.使用在线代理检测工具:有许多免费的在线代理检测工具可用,如ProxyChecker、ProxyScrape等。只需将待检测的代理IP和端口输入工具中,点击开始检测,即可迅速获得代理的可用性和匿名性等信息。 2.使用命令行工具进行检测:在命令行中使用curl命令来测试代理的可用性。例如,输入命令"......
  • SpringBoot集成日志入门
    一、日志的作用程序中的日志是记录程序的运行情况,包括用户的各种操作、程序的运行状态等信息。类似于飞机的黑匣子。二、日志的级别表:日志级别及其描述日志级别描述OFF关闭:不输出日志FATAL致命:用于输出可能会导致应用程序终止的错误ERROR错误:用于输出程序的错误(这些错误不会导......
  • html 之 jQuery库
    一、jQuery介绍1、库就类似于是Python中的模块,简称为jq2、jQuery就是js、css等的封装版本,只要一封装,写法较简单3、jQuery是一个轻量级的、兼容多浏览器的JavaScript库,封装版本的js。4、jq的优势简化DOM操作:jQuery提供了简单易用的选择器和DOM操作方法,使得在HTML文......