jquery的$

news/2024/7/10 23:26:51 标签: jquery, 前端, javascript

jQuery是什么

jQuery是一个快速、简洁的JavaScript框架,jQuery设计的宗旨是“write Less,Do More”。

jQuery的$

使用过jQuery的应该都知道jQuery的$,看到源码中的这一段就能知道相当于jquery的简写,

jquery有两种用法,一种是用$表示,还有一种是jQuery
 // Map over jQuery in case of overwrite
       var   _jQuery = window.jQuery,

        // Map over the $ in case of overwrite
        _$ = window.$;

    jQuery.noConflict = function(deep) {
        if (window.$ === jQuery) {
            window.$ = _$;
        }

        if (deep && window.jQuery === jQuery) {
            window.jQuery = _jQuery;
        }

        return jQuery;
    };

jQuery的$()函数

主要的用法有下面几种

1. 作为选择器 jQuery(selector,context)

在函数中接收一个css选择器表达式(selector)和可选的选择器上下文(context),返回一个包含了匹配的DOM元素的jQuery对象。默认情况下,查找时从根元素上开始找,也就是说查找范围是整棵文档树。但是如果给定了上下文context,则在指定上下文中查找,也可以直接写在css选择器表达式(selector)后,如下

<!DOCTYPE html>
<html lang="en">

<head>
    <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>
    <style>
        div {
            width: 200px;
            height: 80px;
            margin-top: 30px;
            border: 1px solid red;
        }
    </style>
</head>

<body>
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div1 sos"></div>
    <div class="div2"></div>
    <div class="div1"></div>
    <div class="div2"></div>
    <script src="/jquery.js"></script>
    <script>
        // 入口函数
        $(document).ready(function() {
            console.log($('.div1'));
            console.log($('.div1.sos'));
            console.log($('.div1', '.sos'));


        })
    </script>
</body>

</html>

打印结果,第二个和第三个选择了一样,但是要注意的是返回的是伪数组,自己可以使用($(‘.div1’, ‘.sos’) instanceof Array)打印看下
在这里插入图片描述

2.创建dom元素

后面一起放图

  $('<div>我是傻瓜</div>').appendTo('body')

3.入口函数

当传进去的参数是函数的时候,则在document对象上绑定一个ready事件监听函数,当DOM结构加载完成的时候执行

// jquery入口函数
        $(document).ready(function() {
            console.log('入口2');
        })
        $(function() {
                console.log('入口1');
            })
            // 原生的入口函数
        window.onload = function() {
                console.log('原生的入口函数');
            }

两者之间的区别随便百度下就有,这里不在多说

4.将dom对象转换为Jquery对象

下面介绍了两者相互转换的方法

 <div class="contain">
    </div>
    <script src="./jquery.js"></script>
    <script>
        var contain = document.querySelector('.contain');
        console.log(contain);
        //将dom对象变为jq对象
        console.log($(contain));
        //将jq对象转为dom对象
        console.log($(contain)[0], $(contain).get(0));
    </script>

在这里插入图片描述

两者的区别

    $可以调用那些不需要操作对象的方法,如$.prototype,如果是给某个对象赋值(注意,这里有操作对象),就需要用$('#abc').val('123')的方式,因为像val()等方法中会用到$(this)去操作当前对象。

http://www.niftyadmin.cn/n/5176131.html

相关文章

c++ 信奥编程 1135:配对碱基链

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main(){char a[256];int len;int i;gets(a);lenstrlen(a);//计算字符串长度for(i0; i<len; i){ //输出配对碱基if(a[i]A) cout<<"T";if(a[i]T) cout<…

stm32 - Cortex

stm32 - Cortex 概念Cortex-M4 的工作模式和工作状态寄存器 概念 Cortex-M4 的工作模式和工作状态 处理模式 当处理器发生了异常或者中断&#xff0c;则进入处理模式进行处理&#xff0c;处理完成后返回到线程模式 权限大&#xff0c;访问处理器中所有的资源 线程模式 芯片复…

搜狐2023年Q3营收1.45亿美元 宣布最高8000万美元股票回购计划

2023年11月13日&#xff0c;搜狐公司公布2023年第三季度财务报告。财报显示&#xff0c;搜狐公司第三季度总收入为1.45亿美元&#xff0c;其中&#xff0c;品牌广告收入为2200万美元&#xff0c;在线游戏收入为1.17亿美元&#xff1b;同时宣布为期两年&#xff0c;总金额最高为…

navicat创建MySql定时任务

navicat创建MySql定时任务 前提 需要root用户权限 需要开启定时任务 1、开启定时任务 1.1 查看定时任务是否开启 mysql> show variables like event_scheduler;1.2 临时开启定时任务(下次重启后失效) set global event_scheduler on;1.3 设置永久开启定时任务 查看my…

MacOS Ventura 13 优化配置(ARM架构新手向导)

一、系统配置 1、About My MacBook Pro 2、在当前标签打开新窗口 桌面上创建目录的文件夹&#xff0c;每次新打开一个目录&#xff0c;就会创建一个窗口&#xff0c;这就造成窗口太多&#xff0c;不太好查看和管理&#xff0c;我们可以改成在新标签处打开新目录。需要在&…

QML15、将 C++ 类型的属性暴露给 QML

将 C++ 类型的属性暴露给 QML QML 可以使用 C++ 代码中定义的功能轻松扩展。由于 QML 引擎与 Qt 元对象系统的紧密集成,任何由 QObject 派生类适当公开的功能都可以从 QML 代码访问。这使得 C++ 数据和函数可以直接从 QML 访问,通常只需很少或无需修改。 QML 引擎具有通过元…

vscode 内置扩展找不到? 设置之后不知道怎么还原?

搜索上面框起来的就是内置扩展 vscode这一招太恶心。。。

vue实现无感刷新token

vue实现无感刷新token 1、前言2、实现思路2.1 方法一2.2 方法二2.3 方法三 3、可能遇到的问题3.1 问题一&#xff1a;如何防止多次刷新token3.2 问题二&#xff1a;同时发起两个或者两个以上的请求时&#xff0c;其他接口怎么解决 1、前言 最近在做vue3管理系统项目的时候&…