$ 与 $$(*) 是什么?

2023-11-03

前言

今天在阅读一篇文章:小伙伴遇到这个问题说不想干前端了——一次Chrome翻译造成的玄学bug。主要内容是说翻译插件引发页面的react报错。

文章中用$$('*') 去获取报错页面所有的dom标签和正常无报错页面的dom标签,再进行对比来定位问题。
具体代码如下:

$$('*').reduce((acc, { tagName }) => `${acc}${tagName},`, '')

这篇文章看到了一个$$('*')的写法。我感到好奇,这个到底是什么?

可能性 1

通常来说这个$符号是jQuery 的别名写法。$$('*')难道是符号是jQuery某种高级写法吗?或者是设定了jQuery的使用是 $$

很多javascript库使用$作为一个函数或者变量名.如果你要使用这些javascript库又要使用jQuery 那么可以使用jQuerynoConflict()来来修改jQuery的别名。

noConflict() 方法让渡变量 $ 的 jQuery 控制权。
该方法释放 jQuery 对 $ 变量的控制。
该方法也可用于为 jQuery 变量规定新的自定义名称。

比如:


var $$ =$.noConflict();

在控制台试试$$('*')
在这里插入图片描述
但是它返回的是jQuery object. 并不是数组。执行这条语句是会报错的

var $$ =$.noConflict();
$$('*').reduce((acc, { tagName }) => `${acc}${tagName},`, '')

在这里插入图片描述

正解

在网上看到一篇问答:[What is the difference between $ and KaTeX parse error: Can't use function '$' in math mode at position 114: …入`jQuery`的情况下,`$̲` 和 `可以在Google Chrome,FirefoxSafari`浏览器中使用。

  1. $document.queryselect 的简写。返回传入选择的第一个元素
    在这里插入图片描述

  2. $$document.queryselectAll 的简写。返回传入选择所有元素
    在这里插入图片描述

我们再来执行一下这条代码:

$$('*').reduce((acc, { tagName }) => `${acc}${tagName},`, '')

在这里插入图片描述
正确地获取了页面所有元素的标签名

参考

What is the difference between $ and $$?
小伙伴遇到这个问题说不想干前端了——一次Chrome翻译造成的玄学bug

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

$ 与 $$(*) 是什么? 的相关文章

随机推荐

  • c#winform使用WebBrowser 大全

    C WinForm WebBrowser 一 MSDN资料 1 主要用途 使用户可以在窗体中导航网页 2 注意 WebBrowser 控件会占用大量资源 使用完该控件后一定要调用 Dispose 方法 以便确保及时释放所有资源 必须在附加事
  • 微信分享链接标题和小图片-不通过公众号接口开发

    方法一 不通过公众号接口开发 在boby 和head之间添加下面的代码即可 图片路径自行修改 注意这个图片必须是大于300px300px的 div style margin 0 auto width 1px height 1px img s
  • 把字符串转换成整数(最详细解答)

    题目要求 分析 把一个一个字符以整数的形式来进行输出 需要考虑相互转化的问题 不能使用库函数 首尾会有空格 进行去空格操作 可以减少不必要的判断 区分正负正数 结果可能会越界 题目给的是Integer类型 当超过最大范围或者小于最小范围 有
  • hihoCoder #1000: A+B

    时间限制 1000ms 单点时限 1000ms 内存限制 256MB 描述 求两个整数A B的和 输入 输入包含多组数据 每组数据包含两个整数A 1 A 100 和B 1 A 100 输出 对于每组数据输出A B的和 样例输入 1 2 3
  • 单元测试(二)—— Jest结合Vue-test-utils入门实战

    文章目录 前言 介绍 语法实战 Shallow Rendering DOM结构 测试Props 总结 前言 公共组件 在我们编写测试用例之前 首先需要确认我们的目标组件到底是什么 我的理解为 在我们的项目中通常会分为两种类型的组件 一种为业
  • JAVA学习路线,面试复习方向指引

    前言 好久没有沉下心学习一波了 总结了一份简单的java学习内容 包含java开发大概的技术栈 后续每个部分寻找一些面试题专项学习 本篇先写一个大概的知识概括 后面逐渐加内容 慢慢丰满 有一起学习的朋友欢迎交流 共同进步 学问须学 不学则殆
  • 二、Xshell如何连接虚拟机

    Xshell如何连接虚拟机 安装Vmware时 会自动在windows安装虚拟网卡 在Vmware中设定虚拟交换机网段 圈定主机能使用的ip地址 虚拟网卡会自动获取一个ip地址 创建linux服务器时 选定网络模式为NAT ip地址为该网段
  • 05JWT实现微服务鉴权

    05 JWT 实现微服务鉴权 5 1 什么是微服务鉴权 我们之前已经搭建过了网关 使用网关在系统中比较适合进行权限校验 那么我们可以采用JWT的方式来实现鉴权校验 5 2 JWT JSON Web Token JWT 是一个非常轻巧的规范
  • STM32 USB AUDIO教程——导读

    STM32 USB AUDIO教程 基于正点原子的STM32F407探索者开发板 通过CUBEMX 移植等方式实现USB音频播放speaker和USB音频录制mic等功能 资料篇 主要是X CUBE USB AUDIO资料的概述和翻译 基础
  • 阿里云赵明山:详解灵活可插拔的渐进式发布框架OpenKruise Rollout

    嘉宾 赵明山 随着K8s及云原生理念的普及 尤其是在持续部署流水线出现后 渐进式交付为互联网应用提供了基础设施和实现方法 2022年7月27日 在由开放原子开源基金会主办的 2022开放原子全球开源峰会 上 阿里云技术专家 OpenKrui
  • 基于ISO13400(DoIP)实现车辆刷写,你知多少?

    近年来 基于以太网实现车辆高带宽通讯无疑是整车研发中人们热议的话题 无论是车内基于车载以太网减少线束成本 实现ADAS 信息娱乐系统等技术 还是基于新的电子电气架构以及远程诊断需求 为实现以太网诊断 DoIP 各家OEM都投入大量人力 物力
  • 【100天精通python】Day35:GUI界面编程_一文掌握Tkinter基本操作

    目录 专栏导读 1 GUI 编程概述 1 1 为什么需要GUI 1 2 常见的GUI编程工具和库 1 3 GUI应用程序的组成和架构 2 使用Tkinter 库 进行GUI编程 2 1 使用Tkinter库进行GUI编程的基本流程 2 2
  • 虚拟机网络适配器的三种模式详解及其配置

    VMWare中网络适配器的三种模式详解 关于虚拟机下Linux下ping www baidu com 出现 ping unknown host www baidu com问题的解决 有可能是因为网络适配器未正常配置 本文参照文章 https
  • Linux应用编程(系统信息与系统资源)

    在应用程序当中 有时往往需要去获取到一些系统相关的信息 譬如时间 日期 以及其它一些系统相关信息 本章将向大家介绍如何通过 Linux 系统调用或 C 库函数获取系统信息 譬如获取系统时间 日期以及设置系统时间 日期等 除此之外 还会向大家
  • Nacos介绍以及使用

    目录 一 概述 1 1 Nacos是什么 能干嘛 1 2 去哪下载 1 3 各个注册中心比较 二 Nacos作为服务注册中心 2 1 基于Nacos的服务提供者 2 2 基于Nacos的服务消费者 三 Nacos作为服务配置中心 3 1 N
  • 基于深度学习的海上雷达数据质量管控自动化技术

    文章作者Rune Gangeskar任职于Miros公司 目标是设计一套Wavex传感器系统 如何精准测量波浪 洋流 以及对水航速 并使用深度学习网络来自动辨识测量下取得的雷达数据 进一步提升Wavex系统的表现与可靠度 一 总体简介 对海
  • Java实现不规则软件版本号比较大小

    背景 最近由于需要比较两个版本号 从网上寻找的例子出现了问题 因此单独写一个不规则的版本号比较方法 代码 如果version1大于等于version2就返回true 可以根据自己需要进行调整 public static boolean co
  • 使用 Simulink 进行 STM32 编程

    目录 介绍 所需材料 步骤 1 在MATLAB中设置STM32 MAT软件路径 步骤 2 在STM32CubeMX中创建一个项目 步骤 3 配置时钟和 GPIO 引脚 步骤 4 项目经理并生成代码 步骤 5 在 Simulink 中创建模型
  • Java多线程——线程同步

    1 不安全的买票 不安全的买票 线程不安全 有负数或者多人买到同一张票 public class UnsafeBuyTicket public static void main String args BuyTicket buyTicket
  • $ 与 $$(*) 是什么?

    前言 今天在阅读一篇文章 小伙伴遇到这个问题说不想干前端了 一次Chrome翻译造成的玄学bug 主要内容是说翻译插件引发页面的react报错 文章中用 去获取报错页面所有的dom标签和正常无报错页面的dom标签 再进行对比来定位问题 具体