• ❋JQuery的快速入门 1 了解jq


    目录

    选定元素

    1. jquery基本选择器

    2. 层级选择器

    3. 元素精确定位

     4. 内容选择器

    5. 属性选择器及其他

    元素解析

    操作元素内容与样式

    操作文档的文本结构

    jq事件

    jq动画

    JQuery 是一个“写的更少,但做的更多”的轻量级 JavaScript 库。

    使用前要先导入jquery库,到jQuery官网下载,导入至html中的head标签即可

    <script src="jquery-3.6.0.min.js" type="text/javascript" charset="UTF-8">script>

    选定元素

    1. jquery基本选择器
    • *
    • id
    • class
    • 标签
    • 属性
    • 多个选择器一起
    1. <script>
    2. function t2(){
    3. var all=$('*'); // 通用选择器[包括]
    4. console.log(all);
    5. var ps=$('p');// 获取所有的p标签
    6. console.log(ps); // p标签数组
    7. console.log(ps[1]); // 获取第1个p标签对象
    8. console.log(ps.eq(1).text()); //index=1的p标签值
    9. // ps.hide(); // 隐藏所有对象
    10. ps.eq(1).hide(); // 隐藏指定对象
    11. console.log('获取指定id唯一:'+$('#p2').text());
    12. console.log('获取指定class:'+$('.p2').html()); // 仅获取符合要求的第一条信息
    13. // 属性选择器
    14. console.log('获取指定属性:'+$('input[type=password]').val());
    15. console.log('多个选择器:'+$('input,button').length);
    16. }
    17. script>
    18. <p id="p2">This is a paragraph.p>
    19. <p class="p2">This is another paragraph.p>
    20. <p class="p2">This is another paragraph2.p>
    21. <input type="text" name="" id="" value="1">
    22. <input type="password" name="" id="" value="2">
    23. <input type="text" name="" id="" value="3">
    24. <button type="button" onclick="t2();">hide pbutton>
    2. 层级选择器

    后代,父子,兄弟

    1.     <script>
    2.         function t3(){
    3.             var spans=$('.box1 span');
    4.             console.log(spans.length);
    5.             var son=$('.box1>span');
    6.             console.log(son.length);
    7.             var nt=$('.box1>p+span');   // p标签后的紧挨span的个数
    8.             console.log(nt.length);
    9.             var pre=$('.box1>span~p'); // span之前是p标签的个数
    10.             console.log(pre.length);
    11.         }
    12.     script>
    13.     <div class="box1">
    14.         <p>p1p>
    15.         <span>p2span>
    16.         <p>p3<span>spanspan>p>
    17.         <span>span2span>
    18.     div>
    3. 元素精确定位

    first,last,even,odd,hearder【第一个,最后一个,偶数,奇数,h1这种】就不说了

    not:除什么外,eq(n):第n的标号 ,gt(n):数组索引大于n的元素,lt(n):数组索引小于n的元素 

    1. <script>
    2.         function t1(){
    3.             var as=$('.box1>input:not(:button)');   // 非属性
    4.             console.log(as.length);
    5.             console.log(as.eq(2).val());
    6.             var as2=$('.box1>input:gt(1)'); // gt是大于,lt是小于
    7.             console.log(as2.length);
    8.         }
    9.     script>
    10.     <div class="box1">
    11.         <input value="0" type="text">
    12.         <input value="1" type="button">
    13.         <input value="2" type="text">
    14.         <input value="3" type="text">
    15.     div>
    16.     <button onclick="t1()">clickbutton>
     4. 内容选择器

    :contains('文本')【匹配含有该文本的标签】

    :empty【匹配所有不包含子元素或者文本的空元素】

    :has(tag)【匹配含有选择器所匹配的元素的元素】

    1.     <script>
    2.         function t2(){
    3.             var spans=$('.box2>span:contains("john")');
    4.             console.log(spans.length);
    5.             var em=$('.box2>span:empty');
    6.             console.log(em.length);
    7.             var hass=$('div:has(span)');
    8.             console.log(hass.length);
    9.         }
    10.     script>
    11.     <div class="box2">
    12.         <span>johnspan>
    13.         <span>excelspan>
    14.         <span>johnspan>
    15.         <span>span>
    16.     div>
    17.     <button onclick="t2()">clickbutton>

    空匹配有一个相反的函数,parent:匹配含有子元素或者文本的元素

    5. 属性选择器及其他
    1. $("div[属性]")
    2. $("div[属性=value]")
    3. $("div[属性!=value]")
    4. $("div[属性^=value]")属性以某些值开始
    5. $("div[属性$=value]")以某些值结束
    6. $("div[属性*=value]")包含某些值

    写法分别是:

            $("div:nth-child(1-index)")[index=even...]

            $(":input")

            $("input:enabled")

    元素解析

    •  text
    •  html
    • val
    1. <style>
    2. .box1{
    3. border: 1px solid;
    4. }
    5. .crs{
    6. display: block;
    7. border: 1px solid black;
    8. background-color: aqua;
    9. width: 60px;
    10. height: 60px;
    11. }
    12. .hide{
    13. display: none;
    14. }
    15. style>
    1. <script>
    2. function t5(){
    3. var spans=$('.box5>span');
    4. console.log('"html:"'+spans.html());//只获取第一个元素的内容
    5. console.log('"text:"'+spans.text());// 将所有内容连在一起
    6. // spans.html('全都变'); //会解析html标签
    7. // spans.text('全都变'); //不会解析
    8. var opt=$('.box5>select');
    9. console.log(opt.val()); //有value获取value,没有value获取值 或者input框内的value
    10. var opts=$('.box5>select>option');
    11. opts.val('999'); // 更改所有的value值,没有则添加
    12. }
    13. script>
    14. <div class="box5">
    15. <span value="span">1span>
    16. <span>2span>
    17. <span>3span>
    18. <select name="" id="">
    19. <option>1option>
    20. <option>2option>
    21. <option>3option>
    22. <option>option>
    23. select>
    24. div>
    25. <button onclick="t5()">clickbutton>
    26. <hr>

    操作元素内容与样式

    css与attr非常相似,但是获取的值并不是实时的,获取实时的值,使用的是val

    使用css或attr更改元素的属性值

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Documenttitle>
    7. <script src="jquery-3.6.0.min.js" type="text/javascript" charset="UTF-8">script>
    8. <style>
    9. .cls{
    10. width: 300px;
    11. height: 30px;
    12. border: 1px solid;
    13. }
    14. style>
    15. head>
    16. <body>
    17. <script type="text/javascript">
    18. function getext(){
    19. var inp=$('#user');
    20. console.log(inp.attr('type')); // 多个时,只获取第一个
    21. console.log(inp.attr('value'));//相当于getAttribute拿不到实时信息
    22. console.log(inp.val());
    23. }
    24. script>
    25. <button onclick="getext();">获取元素button>
    26. <input type="text" name="user" id="user" value="1">
    27. <hr>
    28. <script>
    29. function update(){
    30. var inp=$('#inp');
    31. inp.attr('type','button');
    32. }
    33. script>
    34. <button onclick="update();">updatebutton>
    35. <input type="text" id="inp">
    36. <hr>
    37. <script>
    38. function getcon(){
    39. var con=$('#div01');
    40. console.log(con.html());
    41. con.html(con.html()+'更改后');
    42. }
    43. function testtext(){
    44. var con=$('#div01');
    45. console.log(con.text()); // 类似innerText
    46. con.text('更改后');
    47. }
    48. script>
    49. <button onclick="getcon();">获取与修改内容button>
    50. <button onclick="testtext();">获取与修改内容button>
    51. <div id="div01">
    52. <b>一段话b>
    53. div>
    54. <hr>
    55. <script>
    56. function testcss(){
    57. var cls=$('.cls');
    58. cls.css('background-color','orange'); //attr一致
    59. console.log(cls.css('width')); // 拿到属性对应的值
    60. }
    61. function testCss2(){
    62. console.log('inside');
    63. var cls=$('.cls');
    64. cls.css({'border':'1px solid','color':'#ff0000','background-color':'blue','width':'300px','height':'40px'});
    65. }
    66. script>
    67. <button onclick="testcss();">操作样式button>
    68. <button onclick="testCss2();">操作样式button>
    69. <div class="cls">
    70. 样式
    71. div>
    72. <hr>
    73. <script>
    74. function addcss(){
    75. var div=$('#div02');
    76. div.addClass('cls');// 追加 要注意
    77. div.removeClass('cls');
    78. console.log('执行完成');
    79. }
    80. script>
    81. <button onclick="addcss();">addcssbutton>
    82. <div id="div02">
    83. addcss
    84. div>
    85. body>
    86. html>

    操作文档的文本结构

    1. div{
    2. border: 1px dotted black;
    3. }
    4. span{
    5. border: 1px solid green;
    6. }
    7. b{
    8. /* display: block; */
    9. border: 1px solid blue;
    10. }
    11. i{
    12. border: 1px solid hotpink;
    13. }

    1. 内部插入:append,appendTo,prepend,prependTo【注意To与非To的区别】

    1. <script>
    2. function tin(){
    3. var sn='插入';
    4. var i=$('i');
    5. var div=$('.box1');
    6. div.append(sn); //尾插
    7. div.prepend(sn); //头插
    8. i.appendTo(div);
    9. // i.prependTo(div);
    10. }
    11. script>
    12. <i>TOi>
    13. <div class="box1">
    14. <span>span1span>
    15. <span>span2span>
    16. div>
    17. <button onclick="tin()">div内部插入button>
    18. <hr>

    2. 外部插入:after,before,inserAfter,inserBefore

    1. <script>
    2. function tout(){
    3. var div_b=$('.box2>b');
    4. var b='插入'
    5. div_b.after(b);
    6. div_b.before(b);
    7. var i=$('.box2 i');
    8. // i.insertAfter(div_b);
    9. i.insertBefore(div_b);
    10. }
    11. script>
    12. <div class="box2">
    13. <b>span1<i>TOi>b>
    14. div>
    15. <button onclick="tout()">div中的b外部插入button>
    16. <hr>

    3. 包裹:wrap,unwrap,wrapAll,wrapInner

    1. <script>
    2. function twrap(){
    3. // $('.spa').wrap('
      '); // 一个span一个盒子
    4. // $('.box3>b').unwrap($('.box3'));// 移除box3盒子
    5. // $('.spa').wrapAll('
      '); //多个span放入一个盒子
    6. $('.box3>b').wrapInner(''); // box3中的所有b标签加斜体
    7. }
    8. script>
    9. <span class="spa">这是一个 spanspan>
    10. <span class="spa">这是一个 spanspan>
    11. <div class="box3">
    12. 这是box3
    13. <b>b1b>
    14. <b>b2b>
    15. <span>span1span>
    16. div>
    17. <button onclick="twrap();">包裹button>
    18. <hr>

    4. 替换:replaceWith,replaceAll

    1. <script>
    2. function treplace(){
    3. var spans=$('.box4>span');
    4. // spans.replaceWith('替换'); // 与All不能同时出现
    5. $('.box4>i').replaceAll('.box4>b');
    6. }
    7. script>
    8. <div class="box4">
    9. <i>ini>
    10. <span>span1span>
    11. <span>span2span>
    12. <b>b1b>
    13. <b>b2b>
    14. div>
    15. <button onclick="treplace()">替换button>
    16. <hr>

    5. 删除:empty,remove

    1. <script>
    2. function tdel(){
    3. var div=$('.box5');
    4. // div.empty();
    5. $('.box5>span').remove();
    6. }
    7. script>
    8. <div class="box5">
    9. <span>span1span>
    10. <b>b1b>
    11. <i>i1i>
    12. div>
    13. <button onclick="tdel()">删除button>
    14. <hr>

    6. 克隆 :clone

    1. <script>
    2. function tcopy(){
    3. var span=$('.box6>b');
    4. $('.box6').append(span.clone());
    5. console.log('success');
    6. }
    7. script>
    8. <div class="box6">
    9. <span>span1span>
    10. <b>b1b>
    11. div>
    12. <button onclick="tcopy()">复制b1button>

    jq事件

    1.页面载入ready

    当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。

    这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。

    简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。

    有一个参数--对jQuery函数的引用--会传递到这个ready事件处理函数中。可以给这个参数任意起一个名字,并因此可以不再担心命名冲突而放心地使用$别名。

    请确保在 元素的onload事件中没有注册函数,否则不会触发$(document).ready()事件。

    可以在同一个页面中无限次地使用$(document).ready()事件。其中注册的函数会按照(代码中的)先后顺序依次执行。

    1. $(document).ready(function(){
    2. // 在这里写你的代码...
    3. });
    4. 等价于
    5. $(function(){
    6. // 在这里写你的代码...
    7. })
    2. 事件处理【bind,unbind,one】
    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Documenttitle>
    7. <script src="jquery-3.6.0.min.js" type="text/javascript" charset="UTF-8">script>
    8. head>
    9. <body>
    10. <script>
    11. function thingjs(){
    12. var btn=document.getElementById('btn');
    13. btn.onclick=function(){
    14. alert('js方式');
    15. }
    16. }
    17. function thing(){
    18. $('#btn2').bind('click',function(){alert('jquery')});
    19. $('#btn2').bind('click',function(){alert('jquery2')});
    20. }
    21. // $(document).ready(alert('loading'));
    22. // $(document).ready(alert('loading...'));
    23. script>
    24. <button onclick="thingjs();">测试jsbutton>
    25. <button onclick="thing();">测试jqbutton>
    26. <button onclick="ubind();">unbindbutton>
    27. <button onclick="tone();">一次性事件button>
    28. <hr>
    29. <button id="btn">jsbutton>
    30. <button id="btn2">jqbindbutton>
    31. <script>
    32. function ubind(){
    33. $('#btn2').unbind('click');
    34. }
    35. script>
    36. <script>
    37. function tone(){
    38. $('#btn3').one('click',function(){
    39. alert('一次性事件');
    40. })
    41. }
    42. script>
    43. <button id="btn3">onebutton>
    44. body>
    45. html>
    3. 事件切换【hover,toggle】
    1. <script>
    2. $(function(){
    3. console.log('load');
    4. $('.div01').hover(
    5. function(){
    6. $(this).css('background-color','pink');
    7. console.log('inside');
    8. },
    9. function(){
    10. $(this).css('background-color','gray');
    11. console.log('outside');
    12. });
    13. })
    14. script>
    15. <div class="div01">
    16. div
    17. div>

    toggle(元素的隐藏与展示动画那里说) 

    4. 事件【click,mouseover,focus,blur等】
    1. <script>
    2. $(function(){
    3. // blur 失去焦点事件 // focus 获取焦点事件
    4. $('.div02>input').bind({
    5. 'blur':function(){
    6. $(this).css('color','pink');
    7. },
    8. 'focus':function(){
    9. $(this).css('color','gray');
    10. }
    11. });
    12. //change 值改变事件
    13. $('.div02>select').change(function(){
    14. $(this).css('color','pink');
    15. });
    16. // click,dblclick单双击事件
    17. $('.div02>#btn1').click(function(){
    18. alert('单击事件');
    19. });
    20. $('.div02>#btn2').dblclick(function(){
    21. alert('双击事件');
    22. });
    23. })
    24. script>
    25. <div class="div02">
    26. <input type="text" value="000">
    27. <select name="" id="">
    28. <option value="">2option>
    29. <option value="">1option>
    30. <option value="">3option>
    31. select>
    32. <button id="btn1">clickbutton>
    33. <button id="btn2">dbclickbutton>
    34. div>

    jq动画

    show+hide【等比放大,等比缩小】 等价于toggle【切换元素展示与隐藏的状态】

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <script src="jquery-3.6.0.min.js" type="text/javascript" charset="UTF-8">script>
    7. <title>Documenttitle>
    8. <style>
    9. *{
    10. padding: 0;
    11. margin: 0;
    12. }
    13. div{
    14. border: 1px solid;
    15. width: 100%;
    16. height: 300px;
    17. }
    18. .div1{
    19. background-color: orange;
    20. display: none;
    21. }
    22. .div2{
    23. background-color: blueviolet;
    24. }
    25. style>
    26. head>
    27. <body>
    28. <script>
    29. $(function(){
    30. // 隐藏与显示
    31. // $('.div1').show(3000);
    32. // $('.div2').hide(3000);
    33. // $('.div1').hide(3000);
    34. // $('.div2').show(3000);
    35. // $('div').toggle(10000);
    36. // 滑动消失或展示
    37. // $('.div1').slideDown(3000); //向下滑出显示【div1已经隐藏】
    38. // $('.div2').slideUp(2000); // 向上滑动隐藏
    39. // 淡入淡出[位置在未显示之前预留]
    40. $('.div2').fadeOut(3000); //div2渐渐消失
    41. $('.div1').fadeIn(6000); //div1渐渐显示
    42. })
    43. script>
    44. <div class="div1">div>
    45. <div class="div2">div>
    46. body>
    47. html>

    下节为jq案例

  • 相关阅读:
    如何在外网访问内网服务器数据库
    CSS基础:盒子模型详解
    Flink Unaligned Checkpoint
    【数据分享】上海市出租车GPS数据
    【学习笔记】NOIP模拟赛 - B.游戏
    ssm小型物流信息系统毕业设计源码071146
    Promise面试实战指北
    解决Java中https请求接口报错问题
    [毕业设计源码下载]精品基于Python实现的学生在线选课系统[包运行成功]
    安卓Android 架构模式及UI布局设计
  • 原文地址:https://blog.csdn.net/m0_62836433/article/details/133023733