JQuery学习总结【二】

以下是关于“JQuery学习总结【二】”的完整攻略:

JQuery学习总结【二】:JQuery常用方法

概述

在本篇博客中,我们将学习 Jquery 中一些常用的方法,并且通过代码示例进行讲解。以下是本篇博客的主要内容:

1.选择器
2.事件委派
3.样式操作
4.属性操作
5.动画效果
6.Ajax请求

现在我们来逐一讲解这些内容。

选择器

选择器是 JQuery 中非常基础的一个功能。它允许您通过标签名称、类、id、属性或甚至可以自定义函数等方式来选择文档中的元素。例如,您可以使用 "$('p')" 来选择所有的段落元素,使用 "$('.classname')" 来选择所有 class 为 classname 的元素。

接下来,我们将通过一段代码来展示选择器的常规使用方式以及基本语法:

<!DOCTYPE html>
<html>
<head>
    <title>JQuery选择器</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        div{
            background-color: #eee;
            margin:10px;
            padding:10px;
        }
        .test{
            color:red;
        }
    </style>
</head>
<body>
    <h1>选择器</h1>
    <p></p>
    <div class="box">元素</div>
    <div class="box">元素</div>
    <div class="box">元素</div>
    <div class="box">元素</div>
    <div id="box">元素</div>
    <div class="test">元素</div>
    <div class="test">元素</div>
    <script>
        $('div').css('border','2px solid red');
        $('div.box').css('background-color','blue');
        $('div#box').css('background-color','red');
        $('div.test').each(function(){
            console.log($(this).text());
        });
    </script>
</body>
</html>

这段代码的主要功能是选择页面中的元素,例如选择所有的 div 标签并添加一个红色的边框,选择 class 为 box 的 div 标签并为背景色添加蓝色,选择 id 为 box 的 div 标签并为背景色添加红色,依次输出 class 为 test 的 div 标签的内容。可以看到,选择器非常的灵活,可以通过相关的CSS选择器非常方便快捷地实现元素的选取。

事件委派

事件委派又称事件代理,是 JQuery 中事件处理的一种重要方式。首先,我们可以考虑一个简单的例子,在下面的代码中,我们在包含三个按钮的 div 容器上绑定了一个点击事件,并且在每个按钮上也绑定了一个点击事件。

<!DOCTYPE html>
<html>
<head>
    <title>JQuery事件委派</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        div{
            margin:10px;
            padding:10px;
        }
        button{
            display:block;
            margin-top:10px;
        }
    </style>
</head>
<body>
    <h1>事件委派</h1>
    <div>
        <button>按钮1</button>
        <button>按钮2</button>
        <button>按钮3</button>
    </div>
    <script>
        $('button').click(function(){
            console.log($(this).text());
        });
        $('div').click(function(event){
            console.log(event.target);
            if($(event.target).is('button')){
                console.log($(event.target).text());
            }
        });
    </script>
</body>
</html>

在这里,我们通过在 div 容器上绑定一个 click 事件,当事件触发时,会首先输出它所触发的对象(即整个 div),接下来会判断当前点击的是否为 button 标签,如果是,就会输出该按钮的文本内容。可以看到,这样的代码实现是比较繁琐的。而事实上,我们可以通过委派事件的形式来优化它。代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>JQuery事件委派</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        div{
            margin:10px;
            padding:10px;
        }
        button{
            display:block;
            margin-top:10px;
        }
    </style>
</head>
<body>
    <h1>事件委派</h1>
    <div>
        <button>按钮1</button>
        <button>按钮2</button>
        <button>按钮3</button>
    </div>
    <script>
        $('div').delegate('button','click',function(){
            console.log($(this).text());
        });
    </script>
</body>
</html>

在这段代码中,我们并没有给按钮标签绑定事件,而是将事件绑定到了 div 标签上,并通过 delegate 方法来委托给按钮标签。这样我们就可以省略掉判断点击标签的过程,使代码更加简洁。需要注意的是,delegate 方法在最新的 JQuery 版本中已经被废弃,可以使用 on 代替。

样式操作

在 JQuery 中,对于元素的样式操作非常的方便,通过链式调用和 CSS() 方法,可以轻松地对元素的样式进行修改。例如:

<!DOCTYPE html>
<html>
<head>
    <title>JQuery样式操作</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        div{
            margin:10px;
            padding:10px;
            background-color: #eee;
            color: #333;
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>样式操作</h1>
    <div>测试样式操作</div>
    <script>
        $('div').css('background-color','red').css('color','#fff');
    </script>
</body>
</html>

这段代码中,我们通过链式调用的方式,首先修改了 div 标签的背景色为红色,接着修改文本颜色为白色。需要注意的是,链式调用的方式要求每个方法都要返回一个 jQuery 对象,否则就会报错。

属性操作

属性操作是 JQuery 中非常常见的一种操作。它可以让我们方便地操作元素的 HTML 属性和 DOM 属性。例如,可以通过 attr() 方法来获取或设置元素的原生 HTML 属性,也可以通过 prop() 方法来获取或设置元素的 DOM 属性。

以下是一个关于属性操作的例子:

<!DOCTYPE html>
<html>
<head>
    <title>JQuery属性操作</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
    <h1>属性操作</h1>
    <button data-test="123">按钮1</button>
    <script>
        $('button').click(function(){
            console.log($(this).attr('data-test'));
            console.log($(this).prop('disabled'));
            $(this).prop('disabled',true);
            console.log($(this).prop('disabled'));
        });
    </script>
</body>
</html>

在这个例子中,我们使用了 attr() 方法来获取按钮标签的 data-test 属性,并通过 prop() 方法来获取和设置按钮的 disabled 属性。在点击按钮之后,按钮会被禁用并输出它的 disabled 状态。

动画效果

JQuery 中内置了一些常见的动画效果,它们可以帮助我们实现一些复杂的动态交互效果。由于动画效果本质上是 CSS 过渡效果的封装,因此 Jquery 动画效果的写法和 CSS 过渡效果的写法非常相似,只需要调用相应的方法并设置相应的参数即可。

以下是一个关于动画效果的例子,使用 animate() 方法来实现滑动效果:

<!DOCTYPE html>
<html>
<head>
    <title>JQuery动画效果</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        .box{
            width: 300px;
            height: 200px;
            position: relative;
            overflow: hidden;
        }
        .move{
            width: 100px;
            height: 100px;
            position:absolute;
            background-color: #f00;
            top:50%;
            left:50%;
            margin-left:-50px;
            margin-top:-50px;
            display: none;
        }
    </style>
</head>
<body>
    <h1>动画效果</h1>
    <div class="box">
        <div class="move"></div>
    </div>
    <button>滑出</button>
    <script>
        var moveStatus = false; // false表示隐藏,true表示显示
        function move(){
            var left = moveStatus ? '-=100px' : '+=100px'; // 判断方向
            $('.move').stop().animate({
                left: left
            },500);
            moveStatus = !moveStatus;
            $('button').text(moveStatus ? '滑回' : '滑出');
        }
        $('button').click(move);
    </script>
</body>
</html>

在这段代码中,我们使用了 animate() 方法来实现了一个简单的滑动效果。首先,我们定义了一个 box 容器和一个 move 方块,通过 position 和 overflow 设置容器的隐藏及定位。在点击按钮后,move 方块会以 500ms 的速度从左侧或右侧滑动进或出 box 容器。需要注意的是,在 jQuery 中动画效果一般需要通过 stop() 方法来停止当前正在执行的动画。

Ajax请求

Ajax 是 JQuery 的一个内置功能,它可以通过异步方式向服务器发送请求并获取数据。使用 Ajax,我们可以以异步的方式从服务器加载数据,并在不刷新整个页面的情况下更新页面内容。一下是一个关于 Ajax 请求的例子,通过 $.get() 方法向百度搜索页面发送请求并打印响应内容:

<!DOCTYPE html>
<html>
<head>
    <title>JQuery Ajax请求</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
    <h1>Ajax请求</h1>
    <script>
        $.get('https://www.baidu.com/',function(data){
            console.log(data);
        });
    </script>
</body>
</html>

这是一个非常简单的例子,我们只是通过 $.get() 方法向百度搜索页面发送请求,并在成功后通过回调函数输出响应的内容。需要注意的是,由于浏览器的同源策略,我们只能通过 Ajax 请求与同一服务器发送请求。如果需要向其他服务器发送请求,就需要使用 JSONP 或跨域请求等技术进行处理。

到此为止,本篇博客就结束了,希望大家有所收获。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JQuery学习总结【二】 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQWidgets jqxKanban columnCollapsed 事件

    jqxKanban 是 jQWidgets 提供的一种看板控件,用于在 Web 应用程序中创建看板。columnCollapsed 事件是 jqxKanban 控件一个事件,用于在看板中的列被折叠时触发。 事件 columnCollapsed 事件用于在看板中的列被折叠时触发。 // 监听 columnCollapsed 事件 $("#jqxKan…

    jquery 2023年5月10日
    00
  • jQuery delegate()方法

    jQuery中的delegate()方法用于在DOM元素中添加事件处理程序。与传统的事件绑定方式不同,delegate()方法可以在父元素上监听子元素上的事件,因此可以动态地添加元素并绑定事件处理程序。 语法 delegate()方法的语法如下: $(selector).delegate(childSelector,event,data,function) …

    jquery 2023年5月12日
    00
  • jQuery UI Sortable tolerance选项

    jQuery UI 的 Sortable 组件提供了一个 tolerance 选项,该选项定义了 Sortable 实例中的项目与鼠标指针之间的距离,以确定项目是否该开始移动。在本教程中,我们将详细介绍 Sortable 的 tolerance 选项的使用方法。 tolerance 选项基本语如下: $( ".selector" ).so…

    jquery 2023年5月11日
    00
  • jquery ajax局部加载方法详解(实现代码)

    首先我们来分步骤讲解“jquery ajax局部加载方法”的完整攻略,并附上两条示例说明。 一、什么是jquery ajax局部加载方法 jQuery是一个快速、简洁的JavaScript库,实现了常用功能的封装,其Ajax技术实现了网页异步化,可以使网页局部刷新,提升用户体验。而局部加载则是通过Ajax请求局部更新页面上的特定区域内容,同时不用刷新整个页面…

    jquery 2023年5月27日
    00
  • jQuery实现鼠标经过图片预览大图效果

    下面是jQuery实现鼠标经过图片预览大图效果的完整攻略: 加载jQuery库文件 要使用jQuery来实现鼠标经过图片预览大图效果,必须首先加载jQuery库文件,可以通过以下CDN或本地文件的方式引入: <!– 通过CDN引入jQuery库文件 –> <script src="https://cdn.bootcss.com…

    jquery 2023年5月18日
    00
  • jQuery UI滑块禁用选项

    以下是关于 jQuery UI 滑块禁用选项的详细攻略: jQuery UI 滑块禁用选项 jQuery UI 提供了一个名为 disabled 的选项,用于禁用滑块。当该选项设置为 true ,滑块将被禁用,用户无法对其进行操作。 语法 $( ".selector" ).slider({ disabled: true }); 示例一:禁…

    jquery 2023年5月11日
    00
  • jQuery callbacks.lock()方法

    当我回答上一个问题时,我犯了一个错误,我混淆了callbacks.lock()和callbacks.locked()方法。callbacks.lock()方法是用于锁定回调函数列表,防止新的回调函数被添加到列表中。以下是关于callbacks.lock()方法的详细攻略,含两个示例,演示如何使用callbacks.lock()方法: 语法 callbacks…

    jquery 2023年5月9日
    00
  • Ajax实现局部刷新的方法实例

    下面我将为你详细讲解“Ajax实现局部刷新的方法实例”的完整攻略。 什么是Ajax? Ajax,全称为Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML。它利用 JavaScript 在不需要重新加载整个页面的情况下与服务器进行通信,实现了局部刷新。 使用Ajax实现局部刷新的步骤 使用Ajax实现局部…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部