JavaWeb--jquery篇

概述

jQuery是一个快速、简洁的JavaScript框架,是一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

引入jquery文件

javascript 复制代码
<!-- 引入在线路径 -->
<!-- <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script> -->
<script src="../jquery/jquery.min.js"></script>

jquery.js 是未压缩版
jquery.min.js是压缩版

引入的jqery标签的顺序要在你的js之前引入

优点

  • 访问和操作dom元素更简单;
  • 控制页面样式更优秀;
  • 对页面事件处理简单;
  • 可扩展的jquery插件。

jquery和js的不同

jquery是对js的封装,js能做到的jquery不一定能做到,但是jquery能做到的js一定能做到


入口函数

javascript 复制代码
//jquery入口函数
    $(function(){


        console.log(jQuery)
        console.log($)


    })

入口函数的不同点

  • JavaScript 的入口函数是会等到所有内容,包括外部图片之类的文件加载完后,才执行。
  • jQuery的入口函数会等到全部DOM元素加载完毕,但不会等到图片也加载完毕,就会提前执行。
  • JS的入口函数如果有多个,后面创建的入口函数会覆盖前面创建的入口函数,说白了就只能有一个入口函数
  • jQuery的入口函数可以有多个,后面创建的入口函数不会覆盖前面的入口函数。

js对象和jquery对象的相互转换

javascript 复制代码
 //获取js对象
   let jsBox =  document.getElementsByClassName('box')[0];
    console.log(jsBox)

   
    // jsBox.addEventListener()

   //获取jquery对象
    console.log(  $('.box'))
    

    //js对象和jquery对象的方法是不能公用的
    // $('.box').addEventListener('click',function(){
    //     console.log(123)
    // })

     //js对象和jquery对象之间的相互转换

    // js对象转 jquery对象
      $(jsBox).css('color','red')

     //jquery转js对象
    //  通过[索引] 或者 get(索引)的方式
     $('.box').get(0).addEventListener('click',function(){
        console.log('被点击了')
     })

jquery选择器

过滤选择器

表单过滤选择器

操作内容

修改样式

操作类名

jquery控制元素显示和隐藏

jquery事件

javascript 复制代码
$().on(事件, 子对象,data 
) 
// 其中 子对象可写可不写;// 事件: 使用最常用的map键值对的方式进行编写: 
$().on( 
{ '事件类型':function(){}, 
  '事件类型':function(){} 

} 
)


 $().off('被移除的事件'); 

    // $('div').on({

    //         'click': function (e) {
    //             console.log('单机事件')
    //             console.log($(e.currentTarget).attr('index'))
    //         },
    //         'dblclick':function(){
    //             console.log('双机事件')
    //         },
    //         'mouseover':function(){
    //             console.log('划入事件')
    //         }
    //     }
    // )


    $('body').on('click','div',function(){
        console.log(123)
    })

jquery遍历方式

javascript 复制代码
 $('ul>li').each(function(i,e){
        //i 索引
        //e 当前的元素
        console.log(i,e)

    })

操作节点

javascript 复制代码
 $('button:eq(1)').on('click',function(){

            //清空后代元素
            $('ul').empty();
        })

        $('button:eq(2)').on('click',function(){

            //删除元素
            $('ul').remove();
        })

代码实现

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jquery/jquery.js"></script>
</head>

<body>

    <button>添加</button>

    <button>empty</button>
    <button>remove</button>

    <button>查询父元素</button>
    <button>查询子元素</button>
    <button>查询后代元素</button>


    <button>返回除自已以外的所有兄弟元素</button>
    <button>返回下一个兄弟元素</button>
    <button>返回后面所有的兄弟元素</button>

    <ul>
        <li class="one">
            <span>456</span>
        </li>
    </ul>

</body>
<script>
    $(function () {

        $('button:eq(0)').on('click', function () {

            //创建节点
            let li = document.createElement('li');

            $(li).text('我是li')

            //将 li节点 添加到ul中

            //父元将将子元素添加到末尾; 
            $('ul').append(li)
            //父元将将子元素添加到开头; 
            // $('ul').prepend(li)


            //把a追加到b的内部,位置位于b的结尾; 
            // $(li).appendTo($('ul').get(0))
            // $(li).prependTo($('ul').get(0))


            //将元素添加到此元素的后面
            // $('.one').after(li)
            //将元素添加到此元素的前面
            // $('.one').before(li)


        })



        $('button:eq(1)').on('click', function () {

            //清空后代元素
            $('ul').empty();
        })

        $('button:eq(2)').on('click', function () {

            //删除元素
            $('ul').remove();
        })




        $('button:eq(3)').on('click', function () {

            //查询父元素
            console.log($('ul').parent());
        })

        $('button:eq(4)').on('click', function () {

            //查询子元素
            console.log($('ul').children());
        })
        $('button:eq(5)').on('click', function () {

            //查询后代元素
            console.log($('ul').find('*'));
        })



        $('button:eq(6)').on('click', function () {

            //查询除自己所有的兄弟元素
            console.log($('.one').siblings());
        })

        $('button:eq(7)').on('click', function () {

            //查询下一个兄弟元素
            console.log($('.one').next());
        })

        $('button:eq(8)').on('click', function () {

            //获取之后所有的兄弟元素
            console.log($('.one').nextAll());
        })
    })


</script>

</html>
相关推荐
乐闻x2 分钟前
Vue.js 性能优化指南:掌握 keep-alive 的使用技巧
前端·vue.js·性能优化
一条晒干的咸魚4 分钟前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
花海少爷15 分钟前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
Amd79419 分钟前
Nuxt.js 应用中的 webpack:compiled 事件钩子
前端·webpack·开发·编译·nuxt.js·事件·钩子
生椰拿铁You28 分钟前
09 —— Webpack搭建开发环境
前端·webpack·node.js
狸克先生39 分钟前
如何用AI写小说(二):Gradio 超简单的网页前端交互
前端·人工智能·chatgpt·交互
sinat_3842410942 分钟前
在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
javascript·arcgis·electron
baiduopenmap1 小时前
百度世界2024精选公开课:基于地图智能体的导航出行AI应用创新实践
前端·人工智能·百度地图
loooseFish1 小时前
小程序webview我爱死你了 小程序webview和H5通讯
前端
小牛itbull1 小时前
ReactPress vs VuePress vs WordPress
开发语言·javascript·reactpress