• JavaScript-----jQuery


     目录

    前言:

    1. jQuery介绍

    2. 工厂函数 - $()

    jQuery通过选择器获取元素,$("选择器")  

     过滤选择器,需要结合其他选择器使用。

    3.操作元素内容

    4. 操作标签属性

    5. 操作标签样式

    6. 元素的创建,添加,删除

    7.数据与对象遍历

    8.jQuery事件处理


    前言:

            今天我们学习JavaScript里面的jQuery,前面我们学习了怎么去通过DOM来获取到html里面的元素 ,那今天我们就学习jQuery进一步去简便获取到html的元素,提高代码的效率,下面就一起来看看吧!

    1. jQuery介绍

    jQuery是JavaScript的工具库,对原生JavaScript中的DOM操作、事件处理、包括数据处理和Ajax技术等进行封装,提供更完善,更便捷的方法。

    2. 工厂函数 - $()

    在此之前我们要去引用jQuery的一个文件到html标签当中. 

        <script src="https://www.w3school.com.cn/jquery/jquery.js">script>
    

    "$()"函数用于获取元素节点,创建元素节点或将原生JavaScript对象转换为jquery对象,返回 jQuery 对象。jQuery 对象实际是一个类数组对象,包含了一系列jQuery 操作的方法。

    用法: 

    原生JavaScript对象与jQuery对象的属性和方法不能混用。可以根据需要,互相转换 :

    1. 原生JavaScript转换jQuery对象 $(原生对象),返回 jQuery 对象

    2. jQuery对象转换原生JavaScript对象

      • 方法一 : 根据下标取元素,取出即为原生对象 var div = $("div")[0];

      • 方法二 : 使用jQuery的get(index)取原生对象 var div2 = $("div").get(0);

    jQuery通过选择器获取元素,$("选择器")  

    1. 标签选择器:$("div")
    2. ID 选择器:$("#d1")
    3. 类选择器:$(".c1")
    4. 群组选择器:$("body,p,h1")
    5. 后代选择器: $("div .c1")
    6. 子代选择器: $("div>span")
    7. 相邻兄弟选择器: $("h1+p") //匹配选择器1后的第一个兄弟元素,同时要求兄弟元素满足选择器2
    8. 通用兄弟选择器: $("h1~h2") //匹配选择器1后所有满足选择器2的兄弟元素

     过滤选择器,需要结合其他选择器使用。

    1. :first
    2. 匹配第一个元素 例:$("p:first")
    3. :last
    4. 匹配最后一个元素 例:$("p:last")
    5. :odd
    6. 匹配奇数下标对应的元素
    7. :even
    8. 匹配偶数下标对应的元素
    9. :eq(index)
    10. 匹配指定下标的元素
    11. :lt(index)
    12. 匹配下标小于index的元素
    13. :gt(index)
    14. 匹配下标大于index的元素
    15. :not(选择器)
    16. 否定筛选,除()中选择器外,其他元素

     代码示例:

    1. <body>
    2. <div class="he" id="www">555div>
    3. <div class="he" id="w">555div>
    4. <script>
    5. let a=document.getElementsByClassName('he')[0];
    6. console.log(a);
    7. let b=$('.he');//返回一个jq对象
    8. console.log(b,b[0],b[1]);
    9. script>
    10. body>

    结果如下:

    3.操作元素内容

    1. // 设置或读取标签内容,等价于原生innerHTML,可识别标签语法
    2. html()
    3. // 设置或读取标签内容,等价于innerText,不能识别标签
    4. text()
    5. // 设置或读取表单元素的值,等价于原生value属性
    6. val()

    注意同样的html() 可以去识别标签,text() 不能识别标签

    代码示例:

    1. <body>
    2. <div class="he" id="www">555div>
    3. <div class="he">jkdiv>
    4. <input type="text" value="895">
    5. <script>
    6. document.getElementsByClassName('he')[0].innerHTML='你好世界'
    7. console.log($('.he').html(),$('input').text());
    8. console.log($("input").val('bey!'));
    9. console.log($("input").get(0).value);
    10. script>
    11. body>

    4. 操作标签属性

    1. attr("attrName","value") 设置或读取标签属性 (如果存在属性值的话,就会去修改属性值;如果不存在属性值的话,那么就会去创建一个属性值(自定义属性值))

    2. prop("attrName","value") 设置或读取标签属性 注意 :在设置或读取元素属性时,attr()和prop()基本没有区别;但是在读取或设置表单元素(按钮)的选中状态时,必须用prop()方法,attr()不会监听按钮选中状态的改变,只看标签属性checked是否书写

    3. removeAttr("attrName") 移除指定属性

    1. <body>
    2. <input type="text" value="895">
    3. <script>
    4. console.log($('input').attr('value','di'));//对已有属性值进行修改
    5. console.log($('input').attr('name','jack'));//创建新的属性值
    6. console.log($('input')[0]);
    7. $('input').removeAttr('name'); //删除属性值
    8. console.log(document.getElementsByTagName('input')[0]);
    9. script>
    10. body>

    5. 操作标签样式

    针对类选择器,提供操作class属性值的方法

    1. // 添加指定的类名
    2. addClass("className")
    3. // 移除指定的类型,如果参数省略,表示清空class属性值
    4. removeClass("className")
    5. // 如果当前元素存在指定类名,则移除;不存在则添加
    6. toggleClass("className")

    操作行内样式  

    1. // 设置行内样式
    2. css("属性名","属性值")
    3. // 设置一组CSS样式
    4. css(对象)

    代码示例:

    1. <body>
    2. <div class="leimu">斯巴拉西div>
    3. <script>
    4. $('.leimu').css('color','blue');
    5. $('.leimu').css('background-color','pink');
    6. script>
    7. body>

    6. 元素的创建,添加,删除

    1.创建:使用$("标签语法"),返回创建好的元素

    1. // 创建元素
    2. let div = $("
      "
      );
    3. // 设置内容和属性
    4. div.html("动态创建").attr("id","d1").css("color","red");
    5. let h1 = $("

      一级标题

      "
      )

     2.作为子元素添加

    1. // 在$obj的末尾添加子元素newObj
    2. $obj.append(newObj);
    3. // 作为第一个子元素添加至$obj中
    4. $obj.prepend(newObj);

     3.作为兄弟元素添加

    1. // 在$obj的后面添加兄弟元素
    2. $obj.after(newObj);
    3. // 在$obj的前面添加兄弟元素
    4. $obj.before(newObj);

    代码示例:

    1. <body>
    2. <div class="leimu">斯巴拉西div>
    3. <script>
    4. //创建一个元素
    5. let p=$('

      486

      '
      );
    6. let q=$("
      666
      "
      );
    7. //添加到div最后面
    8. $('.leimu').append(p);
    9. //添加到div的第一个子元素
    10. $('.leimu').prepend(q);
    11. script>
    12. body>

    7.数据与对象遍历

    1.$(selector).each() 方法规定为每个匹配元素规定运行的函数

    $(selector).each(function(index,element){})

    必需。为每个匹配元素规定运行的函数。

    • index - 选择器的 index 位置

    • element - 当前的元素

    2.$.each()函数是框架提供的一个工具类函数,通过它,你可以遍历对象、数组的属性值并进行处理

    $.each(Object, function(index, data){});

    必需。为每个匹配元素规定运行的函数。

    • index - 选择器的 index 位置

    • data- 当前的数据  

    示例:

    1. //遍历数组
    2. let b=[1,2,3,4,5,6];
    3. $.each(b,function(i,val){
    4. console.log(i,val);
    5. })
    6. //遍历对象
    7. let a={
    8. name:'jack',
    9. age:18,
    10. num:2000355
    11. };
    12. $.each(a,function(i,val){
    13. console.log(i,val);
    14. })

    8.jQuery事件处理

     文档加载完毕原生JavaScript 方法:window.onload jQuery:

    1. 文档加载完毕原生JavaScript 方法:window.onload
    2. jQuery:

    区别:原生onload事件不能重复书写,会产生覆盖问题;jquery中对事件做了优化,可以重复书写ready方法,依次执行

    事件绑定方式

    1. $("div").on("click",function(){});
    2. $("div").click(function(){});   

    示例:

    1. <body>
    2. <button class="01">click_mebutton>
    3. <button class="02">点击我哦button>
    4. <script>
    5. //监听点击事件
    6. //方法一:
    7. $("..01").on('click',function(){
    8. console.log('我被点击了');
    9. });
    10. //方法二:
    11. $(".02").click(function(){
    12. console.log('点击了我');
    13. })
    14. script>

    以上就是今天的全部内容了,我们下一期再见!

    分享一张壁纸:

  • 相关阅读:
    MySQL索引与事务
    JAVA 100道题(26)
    torch.distributed.launch 指定端口rdzv_endpoint
    【JVM基础】堆
    [TFF学习]官方教程jupyter运行记录_联邦学习之图像分类任务_1
    Java开发:Java SE 基础知识篇
    【PyTorch】PyTorch中张量(Tensor)统计操作
    VUE3中 reacitive源码理解
    要写论文了,怎么搞?
    本地生活服务电商平台小程序源码系统 含完整的安装代码包+搭建教程
  • 原文地址:https://blog.csdn.net/m0_73633088/article/details/132782181