JS hasAttribute 带有数据属性值

2024-03-28

有没有一种原生方法(没有 jQuery)来检查 dom 元素是否具有具有所选值的属性。例如:

//assume doc has
data-mod="do" defined

这将是真的:

document.hasAttribute('data-mod');

但这将是错误的:

document.hasAttribute('data-mod="do"')

有什么方法可以本地检查 DOM 元素上的数据属性及其值吗?


您必须通过以下方式访问属性的值getAttribute https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute并将其与您期望的字符串进行比较:

if (node.getAttribute('data-mod') === 'do') {
    ...
}

对于现代浏览器,您可以使用matches https://developer.mozilla.org/en-US/docs/Web/API/Element/matches:

if (node.matches('[data-mod="do"]')) {
    ...
}

……或者为了[data-*]您可以使用的属性dataset https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset:

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

JS hasAttribute 带有数据属性值 的相关文章

  • 如何将 scala 列表转换为 javascript 数组?

    有更简单的方法吗 document ready function var jsArray if scalaList null for id lt scalaList jsArray push id 很简单 如下所示 import play
  • Sequelize 关联 - 请改用 Promise 风格

    我正在尝试将 3 张桌子连接在一起Products Suppliers and Categories然后排SupplierID 13 我读过了如何在sequelize中实现多对多关联 https stackoverflow com a 25
  • 使用 jQuery live() 初始化插件?

    使用 jQuery 在特定类的所有当前和未来元素上自动初始化插件的最佳方法是什么 例如 假设我想要全部
  • 从本地 html/javascript 网站插入 mySQL 数据库

    我正在尝试做什么 我的程序的目的是插入数据local HTML JS网站变成online 非本地 mySQL数据库 到目前为止我尝试过的 我试图用来实现此目的的原始方法是让我的本地网站使用 javascript 通过在线发布数据PHP文件
  • linkedin js 如何是有效的 javascript

    LinkedIn Javascript 集成是通过以下方式完成的 我不明白 这怎么是一个有效的javascript 为什么 api key 没有被引用 脚本标签的主体带有src永远不会被执行 但是 加载的脚本可以像访问任何其他元素的内容一样
  • 如何使用 javascript 将我的域名字母大写?

    假设我的域名是www hello com 如何使用 jQuery JavaScript 使浏览器的 URL 栏看起来像 www HELLO com 您无法更改浏览器地址栏中显示的内容 这是一项基本的安全功能 您可以使您的域名全部大写 并将页
  • es6-module 默认导出导入为未定义

    我不确定我在这里缺少什么 我正在使用 jspm 和 es6 module loader 开发一个项目 我有一个模块定义如下 import hooks from hooks import api from api import tools f
  • 全日历与 UTC 和本地日期的混淆

    我确实让 fullcalendar 正常初始化 所以它代表当前日期 午夜 gt 午夜 1 天 1 小时时段 我从其他一些数据源获取带有时间戳的数据 格式为 YYYY MM DD HH mm 作为字符串传输 无时区信息 因此 我将该字符串转换
  • FileReader 在 Ionic 2 中未触发 onloadend

    我正在尝试使用 cordova file plugin 读取本地文件 目前我可以读取本地目录的内容并选择单个文件 但我在获取文件内容时遇到问题 这是我的函数 从列表中选择文件后单击按钮即可调用该函数 import window resolv
  • 如何在没有 jQuery 或延迟加载的情况下推迟背景图像

    根据帕特里克 塞克斯顿tutorial https varvy com pagespeed defer images html 我想以与这里相同的方式推迟背景图像img img src data image png base64 R0lGO
  • Lodash _.hasIntersection?

    我想知道两个或多个数组是否有共同的项目 但我不在乎这些项目是什么 我知道 lodash 有一个 intersection方法 但我不需要它来遍历每个数组的每个项目 相反 我需要类似的东西 hasIntersection一旦找到第一个常见的出
  • 如何使用 ReactJS 使表中的列可以以两种方式排序

    我正在 ReactJS 中构建一个简单的应用程序 它通过调用某个 API 来使用 JSON 数组 然后我将数组的结果填充到表中 我现在想让表的列可排序 我理想的情况是同时进行升序和降序排序 一旦我单击标题 当它按升序排序时 它应该按降序排序
  • 检查是否安装了 Google Analytics 或 Universal Analytics?

    我正在尝试通过 JavaScript 来确定是否加载了 Google Analytics 或 Universal Analytics 一些客户仍在使用旧的 Google Analytics 我们希望推出一个收集数据的 JavaScript
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • 反转比例函数

    这对我来说很有趣 看下面的D3代码 var scale d3 scale linear domain 100 500 range 10 350 scale 100 Returns 10 scale 300 Returns 180 scale
  • 如何从 Visual Studio Code API 打开浏览器

    我只是在探索一种从用于开发扩展的 Visual Studio Code API 打开默认浏览器的方法 以下是我的代码 var disposable vscode commands registerCommand extension brow
  • 使用 NodeJS 创建 YouTube 播放列表

    我正在尝试使用 NodeJS 服务器创建 YouTube 播放列表 我已按照 Oauth 的 NodeJS 快速入门说明进行操作 如以下链接所示 https github com youtube api samples blob maste
  • 如何加载Jquery Tiny滚动条

    所以我想自定义一个滚动条 我发现了一个很小的滚动条 这是一个jquery插件 http baijs nl tinyscrollbar http baijs nl tinyscrollbar 问题是 无论如何我都无法让它工作 我将 Jquer
  • 如何使用node.js获取屏幕分辨率

    我需要使用 node js 获取屏幕分辨率 但以下代码不起作用 var w screen width var h screen height 这也行不通 var w window screen width var h window scre
  • gjs 如何使用 g_data_input_stream_read_line_async 在 Gnome Shell 扩展中读取套接字流

    我正在尝试编写一个 Gnome Shell 扩展 通过 Socket 服务器与 Arduino 进行通信 服务器和 Arduino 运行良好 但我陷入了监听传入服务器消息的扩展代码 因为我需要一种非阻塞方法 所以使用异步读取行 https

随机推荐

  • 在地图上绘制坐标

    我正在尝试使用 R 绘制我的坐标 我已经尝试遵循不同的帖子 R 在世界地图上绘制分组坐标 https stackoverflow com questions 16234092 r plot grouped coordinates on wo
  • 我可以在 Rust 中定义一个带有自身类型参数的特征吗?

    我是 Rust 新手 在处理特征和泛型方面遇到困难 我首先定义一个特征来为我做一些工作 然后定义一个将其用作类型参数的通用结构 现在我意识到 在原始特征中 我实际上想使用我定义的结构 所以我处于一种循环中 我不知道如何摆脱它 并且想知道我想
  • ssh -vT [电子邮件受保护] 的权限被拒绝(公钥)错误

    安装了 Git 并创建了与 Facebook 应用程序一起使用的 heroku 帐户 无法与github建立连接 使用windows Git命令提示符将文件克隆到本地windows 7 输出如下 ssh vT email protected
  • Windows 7 操作中心

    如果有人可以指导我修改 控制 Windows 7 操作中心所需的新 MS API 我将不胜感激 我需要做的是将备份通知消息集成到我的应用程序中 该应用程序是操作中心的备份应用程序 换句话说 我希望Windows在第三方软件完成备份操作后显示
  • 使用 jQuery 从 'a' 元素的 'href' 属性中剪切文件名的最佳方法是什么?

    例如我有简单的代码 ul class list li a href http www aaa com bbb ccc file01 pdf Download file 01 a li li a href http www bbb com c
  • 我可以删除弹出视图中的箭头吗?

    我被要求删除弹出视图的箭头 这是否违反了人机界面准则 在另一个弹出窗口中显示一个弹出窗口是否明智 如果不违反人机界面准则怎么办 对于斯威夫特 popoverMenuViewController permittedArrowDirection
  • 在 vscode 中将现有 Java 项目转换为 Maven

    我有一个没有任何东西的旧Java项目 我想使用maven 因为缺少一些依赖项并且我找不到库 有人可以告诉我如何将该项目转换为 MavenWITH VSCODE 以下是一些步骤 告诉 VS Code使用Maven https code vis
  • 如何获取最顶层活动的标识符?

    我有一个服务 当最顶层的 Activity 发生变化时 它的行为必须改变 假设 活动 A 处于活动状态 然后服务开始某种处理 当 Activity A 不再可见时 此处理必须停止 用户按下 后退 主页 或执行任何其他操作使 Activity
  • MySQL 记录 UPDATE 应该会失败,但实际上却没有。为什么?

    这是一个有趣的情况 我用 MySQL 开始一个事务 我的交易涉及3个相关查询 每个查询都必须成功 如果没有成功 则不应将任何查询写入数据库 现在 故意 对于第二个查询 这恰好是一个更新查询 我改变了 标识要更新为无效 不存在 PK 值的记录
  • 在散点图中将值绘制为符号的最简单方法?

    在回答我之前关于修复 4D 数据散点图像的色彩空间的问题时 Tom10 建议将值绘制为符号 以便仔细检查我的数据 一个好主意 我过去运行过一些类似的演示 但我一生都找不到我记得的演示非常简单 那么 将数值绘制为散点图中的符号 而不是 o 的
  • IPv6 地址的正则表达式

    我有一个 IPv6 地址的正则表达式 如下所示 IPV4ADDRESS t digit 1 3 3 digit 1 3 t x4 xdigit 1 4 xseq x4 x4 0 7 xpart xseq xseq xseq xseq IPV
  • Scala sbt:sbt 中的多个依赖项

    我是 Scala 的新用户 正在按照创建 scala sbt 项目的方式进行操作 https www youtube com watch v Ok7gYD1VbNw https www youtube com watch v Ok7gYD1
  • 如何在shell中剪切字符串的第一列(可变长度)

    如何在shell中剪切字符串的第一列 可变长度 字符串的前 23006 帮助 txt 我需要 23006 作为输出 很多方法 cut d f1
  • 为什么我的 WebClient 大多数时候会返回 404 错误,但并非总是如此?

    我想要获取有关我的程序中的 Microsoft 更新的信息 但是 服务器在大约 80 的情况下会返回 404 错误 我将有问题的代码归结为这个控制台应用程序 using System using System Net namespace W
  • 实施 Dijkstra 算法

    我的任务是 大学课程 实施某种形式的寻路 现在 在规范中 我可以实现强力 因为要搜索的节点数量有限制 开始 中间两个 结束 但我想重新使用此代码并来实现迪杰斯特拉算法 http en wikipedia org wiki Dijkstra
  • 如何防止android服务被杀死(带通知的服务)

    我正在开发一个需要不断显示通知的应用程序 我有一项服务可以每秒显示一次通知 当资源不足时 android 就会终止我的服务 我已经从 onStartCommand 给出了返回 START STICKY 因此 一段时间后 服务将重新启动 但与
  • 如何创建自定义元素扩展类的新实例

    我正在尝试以下示例谷歌开发者网站 https developers google com web fundamentals getting started primers customelements extendhtml我收到错误 Typ
  • 如何使用 Grunt 为 LESS 配置 sourceMap?

    我正在使用 grunt 0 4 2 和 grunt contrib less 0 9 0 我希望将我的 LESS 编译成 CSS 并支持源映射 我的 LESS 文件位于public less 主要的称为main less 的编译public
  • 无论如何,Bootstrap 导航栏都不会居中

    我一直在尝试使用 Bootstrap 将我的导航栏集中在导航栏的中心 这非常糟糕 我尝试过使用类似问题中的信息 例如this one https stackoverflow com questions 7165423 twitter boo
  • JS hasAttribute 带有数据属性值

    有没有一种原生方法 没有 jQuery 来检查 dom 元素是否具有具有所选值的属性 例如 assume doc has data mod do defined 这将是真的 document hasAttribute data mod 但这