本文介绍: jQuery是JavaScript工具库,对原生JavaScript中的DOM操作事件处理数据处理等进行封装,提供更便捷的方法

jQuery

jQuery是JavaScript的工具库,对原生JavaScript中的DOM操作事件处理数据处理等进行封装,提供更便捷的方法

引入

引入jquery文件,才能使用jquery语法

https://www.bootcdn.cn/

https://jquery.cuishifeng.cn/

<!DOCTYPE html>
<html lang="en">
<head&gt;
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 通过cdn网络实时获取源码内容 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <!-- 导入本地jquery文件 -->
    <script src="jquery.min.js"></script>
</body>
</html>

工厂函数 – $()

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

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

jQuery获取元素

标签选择器:$(“div”)

ID 选择器KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 3: (“#̲d1″) 类选择器(“.c1”)
群组选择器:$(“body,p,h1”)

层级选择器

后代选择器: $(“div .c1”)
子代选择器: $(“div>span”)
相邻兄弟选择器: $(“h1+p”) 匹配选择器1后的第一个兄弟元素,同时要求兄弟元素满足选择器2
通用兄弟选择器: $(“h1~h2”) 匹配选择器1后所有满足选择器2的兄弟元素

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

对象:first
匹配第一个元素 例:

(

p

:

f

i

r

s

t

)

对象

:

l

a

s

t

匹配最后一个元素例

:

(“p:first“) 对象:last 匹配最后一个元素 例:

(p:first)对象:last匹配最后一个元素例:(“p:last”)
对象:odd
匹配奇数下标对应的元素
对象:even
匹配偶数下标对应的元素
对象:eq(index)
匹配指定下标的元素
对象:lt(index)
匹配下标小于index的元素
对象:gt(index)
匹配下标大于index的元素
对象:not(选择器)
否定筛选,除()中选择器外,其他元素

基本选择

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1 id="title">静夜思</h1>
    <h2>李白</h2>
    <ul>
        <li>窗前明月光</li>
        <li class="item">疑是地上霜</li>
        <li class="item">举头望明月</li>
        <li>低头思故乡</li>
    </ul>
    <p>静夜思</p>
    <span>李白</span>
    <!-- 导入本地jquery -->
    <script src="jquery.min.js"></script>
    <script>
        $('#title').css("color","yellow").css('text-align','center')
        $('.item').css('basckground-color','pink')
        $('p,span').css('font-size','52px')
        console.log($('#title'))
    </script>
</body>
</html>

过滤选择

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1 id="title">静夜思</h1>
    <h2>李白</h2>
    <ul>
        <li>窗前明月光</li>
        <li>窗前明月光</li>
        <li>窗前明月光</li>
        <li class="item">疑是地上霜</li>
        <li class="item">疑是地上霜</li>
        <li class="item">疑是地上霜</li>
        <li class="item">举头望明月</li>
        <li class="item">举头望明月</li>
        <li class="item">举头望明月</li>
        <li>低头思故乡</li>
        <li>低头思故乡</li>
        <li>低头思故乡</li>
    </ul>
    <!-- jquery连接 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <script>
        // 选中第一个item元素       $('.itme:first').css('color','#096') 
        // 选中最后一个item元素        $('.itme:last').css('color','yellow')
        // 选中li里面奇数下标的元素
        $('li:odd').css('color','green')
        // 选中li里面偶数下标的元素
        $('li:even').css('color','red')
        // 选中li里面下标为5的元素
        $('li:eq(5)').css('color','#6cf')
        // 选中li里面下标小于5的元素
        $('li:lt(5)').css('color','#6cf')
        // 选中li里面下标大于于5的元素
        $('li:gt(5)').css('color','#6cf')
        // 选中li里面不是item的元素        $('li:not(.item)').css('color','#6cf')
    </script>
</body>
</html>

操作元素内容

可以和之前的表单一起使用

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div></div>
    <input type="text">
    <button>点击提交</button>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <script>
        // 修改div的内容
        $('div').html('<b>记得多看书')
        $('button').click(function(){
            alert($('input').val())
        })
    </script>
</body>
</html>

操作标签属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <p>
        我已经阅读并同意
        <input type="checkbox" name="" id="check" checked="true">
        <a href="#">已同意</a>
        协议
    </p>

    <input type="submit" name="" id="rad" value="注册">
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <script>
        $('#reg').click(function(){
            // attrname 属性名
            // alert($('#check').attr('checked'))
            // alert($('#check').prop('checked'))
            $('#check').prop('checked')? alert('注册成功'):alert('请勾选协议')
        })
    </script>
</body>
</html>

操作标签样式

  1. 为元素添加id/class属性,对应选择器样式
  2. 针对类选择器,提供操作class属性值的方法

addClass(“className”) //添加指定的类名
removeClass(“className”)//移除指定的类型,如果参数省略,表示清空class属性值
toggleClass(“className”)//结合用户行为,实现动态切换类名.如果当前元素存在指定类名,则移除;不存在添加

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .box{
            width: 300px;
            height: 300px;
            background-color: aquamarine;
        }
        .tset{
            border: 5px solid rgb(red, green, blue);
        }
    </style>
</head>
<body>
    <div class="test"></div>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <script>
        // 增加一box
        $('div').addClass('box')
        // 删除
        $('.box').removeClass('test')
    </script>
</body>
</html>

3.操作行内样式

css(“属性名”,“属性值”) //设置行内样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div></div>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <script>
        $('div').css('height','300px').css('width','300px').css('background-color','#096')
        $('div').css({
            'height':'300px',
            'width':'300px',
            'background-color':'#096'
        })
    </script>
</body>
</html>

元素的创建添加删除

  1. 创建:使用$(“标签语法”),返回创建好的元素
var div = $("<div></div>");	//创建元素
div.html("动态创建").attr("id","d1").css("color","red"); //链式调用,设置内容和属性
var h1 = $("<h1 id='d1'>一级标题</h1>");	//创建的同时设置内容,属性和样式
  1. 作为子元素添加
$obj.append(newObj);	//在$obj末尾添加子元素newObj
$obj.prepend(newObj);	//作为第一个子元素添加至$obj
  1. 作为兄弟元素添加
$obj.after(newObj);		//在$obj的后面添加兄弟元素
$obj.before(newObj);	//在$obj前面添加兄弟元素
  1. 移除元素
$obj.remove();	//移除$obj
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <button id="btn">干掉敌人</button>
    <script src="./js/jquery.min.js"></script>
    <script>
        // 给body标签末尾加一个子元素
        $('body').append('<div id="water">干掉他</div>')

        // 给body标签开头添加一个子元素
        $('body').prepend('<div id="water">杀掉他</div>')

        $('#water').before('<div class="bro">杀掉他</div>')

        $('#water').after('<div class="bro">杀掉他</div>')

        $('#water').click(function(){
            $('.water').remove()
        })
    </script>
</body>
</html>

动画效果

  1. 显示隐藏

    show(speed,callback)/hide(speed,callback)
    
  2. 下拉和上推效果显示隐藏的被选元素( 针对块元素

    slideDown(speed,callback)/slideUp(speed,callback)
    
  3. 通过使用淡隐淡现方式显示效果,显示隐藏的被选元素

    fadeOut(speed,callback)/fadeIn(speed,callback)
    

数据与对象遍历

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

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

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

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

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>item1</li>
        <li>item2</li>
        <li>item3</li>
        <li>item4</li>
    </ul>
    <script src="./js/jquery.min.js"></script>
    <script>
        $('li').each(function(index,obj){
            console.log(index,obj)
        })

        let name = ['小明','小刚','小红','小兰']
        console.log(name)
        $(name).each(function(index,obj){
            console.log(index,obj)
        })
    </script>
</body>
</html>

原文地址:https://blog.csdn.net/weixin_44774550/article/details/131035025

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_24282.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注