jQuery - 如何按属性名称开头选择值

2023-12-22

我想通过给出属性名称(仅开头)来选择属性值 例如,如果我们有 html 标签

<div class = "slide"  data-confirmID = "46" confirmID = "54"/>

我想从属性中选择以以下开头的值data-

先谢谢您的帮助。


如果您想要所有 data-* 属性,您可以迭代 jq 数据对象:

$('.slide').each(function(){
    for(data in $(this).data())
        console.log(data); // returns confirmID so element as an attribute `data-confirmID`
});

但是这个数据对象可以包含其他非属性的键,例如由某些插件设置的键。

EDIT

要获得“开头为”的各种属性,您可以自定义自己的 jQuery 选择器:

jQuery.extend(jQuery.expr[':'], {
    attrStartsWith: function (el, _, b) {
        for (var i = 0, atts = el.attributes, n = atts.length; i < n; i++) {
            if(atts[i].nodeName.toLowerCase().indexOf(b[3].toLowerCase()) === 0) {
                return true; 
            }
        }
        
        return false;
    }
});

//e.g:
$('.slide:attrStartsWith("data-")').css('color', 'red');
$('.slide:attrStartsWith("conf")').css('color', 'blue');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="slide" data-confirmID="46" data-testID="666">1</div>
<div class="slide" confirmID="54" >2</div>

如果在另一侧,您想检查属性是否以特定字符串结尾,您可以使用:

jQuery.extend(jQuery.expr[':'], {
    attrEndsWith: function (el, _, b) {
        for (var i = 0, atts = el.attributes, n = atts.length; i < n; i++) {
          var att = atts[i].nodeName.toLowerCase(),
              str = b[3].toLowerCase();
            if(att.length >= str.length && att.substr(att.length - str.length) === str) {
                return true; 
            }
        }
        
        return false;
    }
});

$('.slide:attrEndsWith("testID")').css('color', 'red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="slide" data-confirmID="46" data-testID="666">1</div>
<div class="slide" confirmID="54" >2</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 如何按属性名称开头选择值 的相关文章

  • 函数的通用 .length 检查

    当我用 JS 或 jQuery 编写函数并且需要参数时 我使用if something length诡计 this example function e if e length blablabla else return false 但我不
  • 在我的 div 标签中 有很多行非常长的文本 并且 div 元素当前是可滚动的 我想做的是找到特定字符串的第一次出现并自动滚动到包含该字符串的行 没有换行符或任何类型的字符串分隔符可以用来轻松近似滚动位置 我想我可以做这样的事情 var m
  • 为什么jQuery一开始就有一个“window=this”并说它会加速对window的引用?

    当我打开 jQuery 的源代码时 我发现了这一行 var Will speed up references to window and allows munging its name window this 这条线路为何以及如何加速 ja
  • 按住鼠标时 JavaScript 重复动作

    是否有一个 JavaScript 函数每隔如此多的毫秒重复一次 以至于按住 html 按钮 如果这可以使用标准 JavaScript 来完成 那就太好了 但使用 jQuery 或 jQuery 插件也很棒 On the mousedown
  • jQuery 删除函数真的删除 Dom 元素吗?

    我真的想知道 jQuery 是否remove http api jquery com remove 函数确实从 DOM 中删除元素 首先 我看了here https stackoverflow com questions 2185760 j
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • IE8 上 json 解析失败

    json gt 返回的响应 msg div p Unfortunately we were unable to process your application p br Please upload a CV br div status e
  • 掩码输入数字 - 百分比

    如何通过 jQuery 创建具有百分比的数字掩码输入 我是否让输入仅接受三个数字 并在用户完成输入时在数字后添加百分号 keyup 我不使用插件 例子 1 Or 30 Or 99 Or 100 Or 200
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • jQuery翻译+切换,如何链接两者?

    我目前正在开发一个 jQuery 脚本 它将把网站的文本翻译成外语 我正在为此使用 Google Translate API 我希望该页面包含一个显示 En Espanol 的链接 当用户单击 En Espanol 时 页面正文会被翻译成西
  • Jquery,在悬停时添加和删除元素

    我遇到了一个问题 我尝试了几乎所有方法都没有解决 a hovered hover function this after img src images icons famfamfam silk user go png function th
  • jQuery / javascript 缓存元素以提高效率?

    是的 所以我想常识是 对于您将要经常访问的元素 最好的方法是像这样缓存它们 var myEl myclass 然后你以后就可以访问 myEl 并且不需要再次搜索 DOM 对吗 好吧 假设我有一个相当复杂的 html 结构 我需要经常访问几个
  • 如何在按键时获得第一个选择(防止显示“添加书签”对话框)

    I have a checkbox in my jQuery application that you can check to duplicate a div I d like now to create a Ctrl D shortcu
  • Meteor 渲染回调并应用 jQuery 插件

    在将 jQuery 插件 如滑块或同位素 应用到从 Meteor 加载动态内容的 DOM 元素集合时寻找一种模式 如果您致电template rendered doc here http docs meteor com template r
  • 如何使用 jQuery 获取点击元素的 id

    div class main div div span class get clicked click to get id span div div 如何获取被点击元素的id inside div 中存在的跨度将具有不同的 id 因为我将使
  • 使用 moment.js 和 setInterval 动态日期和时间

    我试图找出如何使用显示动态日期和时间moment js http momentjs com 显然我无法弄清楚如何正确使用 setInterval 如果可能的话 我不想使用 jQuery 因为 moment js 不需要它 这是我到目前为止所
  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • jQuery 将表单提交到新选项卡?

    我有一个表单中的操作链接 需要每分钟用令牌更新一次 当用户单击提交按钮时 我从 api 调用中获取新的 url 令牌 我正在使用这样的东西
  • 我可以在 .split() 之后直接访问数组的第二个值吗?

    我有这个代码 var tmp this attr id split 我想将分割后的第二个值存储在 tmp 上 因此 如果 this attr id hello marco 我想在 tmp 中存储值 marco 而不是数组 当然 我想直接用一
  • 垂直滚动,与 div/元素/锚点对齐/对齐

    我发现了一些可爱的网站 http www mini jp event campaign big point http www mini jp event campaign big point http www twenty8twelve c

随机推荐

  • 如何获取设备的设备接口 GUID?

    我枚举了机器上的所有设备 如下所示 HDEVINFO hDevList SetupDiGetClassDevs NULL NULL NULL DIGCF DEVICEINTERFACE DIGCF PRESENT DIGCF ALLCLAS
  • Selenium:清除 chrome 缓存

    在我的应用程序中 我需要一种方法在注销之前仅清除 chrome 浏览器的缓存 cookie 除外 我不想删除 cookie 任何人都可以建议我一种方法来单击 chrome 中的 清除数据 按钮 我写了下面的代码 但代码不起作用 配置 Chr
  • ASP.net 2.0 版是什么意思?

    ASP NET 2 0 版到底是什么意思 它是符合 net CLR version 2 0 的版本吗 aspnet isapi dll 和 aspnet wp exe 怎么样 它们如何适应 net 框架 1 1 2 0 3 5 版本 NET
  • 使用 MVVM 处理 SelectedItem 事件的最简单方法是什么?

    在下面的代码中 当用户选择客户时在组合框中 显示客户姓名在文本框中 我在 ViewModel 上使用 ObservableCollection 属性填充 Combobox 但如何处理 ViewModel 中的 SelectedItem 事件
  • 提升等待:如何等待帖子内的异步操作

    我正在编写一些 asio 代码并尝试重构它以使用 C 20 协程 然而我在转换这段代码时遇到了困难 asio post my strand self shared from this functions that write in this
  • 如何让 Vue-Cookies 在 Vue-Router 组件中工作

    我有一个路由器 index js 文件 它加载 Vue Vue Router 和 Vue Cookies 如下所示 import Vue from vue import Router from vue router import VueCo
  • 在 Asp.Net MVC 中实体作为模型出现“EntityCollection 已初始化”错误?

    我在创建一个复杂的对象时遇到了很大的困难 我有一个带有顾问表的 EF 模型 该表与许多其他表具有一对多关系 我想按原样使用 Consultant 对象作为模型 因为它非常简单 正如 NerdDinner 教程中所做的那样 就像我对其他没有一
  • 在 SSHD 配置中,“MaxStartups 10:30:60”是什么意思? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 问题是 某些 SFTP 连接在客户环境中失败 但是使用示例代码 如果我使用同一服务器进行测试 则不会出现连接失败 可能在客户环境中同时启动了许多并行
  • 如何根据过滤后的数据创建笛卡尔积范围?

    我正在尝试从较小的范围中创建笛卡尔积范围 我想ranges v3 view cartesian product会起作用 但不知何故它不起作用 如果我尝试直接使用容器创建笛卡尔积 我没有问题 编译如下 include
  • ansible 根据属性合并两个列表

    我在我的剧本中扮演一个角色 使用 set fact 生成两个列表 这两个事实用于不同的任务 然后我需要将它们合并以完成最终任务 list1 name alice roles role1 role2 name bob roles role1
  • 将不可序列化的类转换为字节数组

    我有一个场景 我正在多个非常不同的系统之间同步数据 数据本身相似 但不同系统上的表具有完全不同的格式 为了协助这种同步 我有一个数据库表 它存储来自每个系统的对象哈希以及项目键和其他相关信息 当任一系统中的对象的哈希发生更改时 我会更新另一
  • iOS 6 自动旋转问题-supportedInterfaceOrientations 返回值不受尊重

    我有一个应用程序 其中我有一个UINavigationController子类作为我的rootViewController 我有一个UITableViewController允许用户编辑一些设置 它应该始终处于纵向模式 将 MoviePla
  • 如何从 e.target.name 更新状态中的对象

    我正在尝试从这样的表单输入数据 h1 Company Position h1
  • 对数刻度(x 轴)直方图

    我需要的是 X 轴以对数刻度显示的直方图 但是 我仍然希望直方图中的每个条形都具有相同的宽度 不管怎样 我想出了 或发现 具有较高值的 显示条与较窄的显示条 它们在普通比例上具有相同的宽度 而不是在对数比例上 这是我现在正在做的事情 edg
  • Python c-api 和 unicode 字符串

    我需要在 python 对象和各种编码的 c 字符串之间进行转换 使用 PyUnicode Decode 从 C 字符串到 unicode 对象相当简单 但是我不知道如何走另一条路 char can be a wchar t or any
  • 基于 Rails 中每个下拉菜单的嵌套下拉框和多选框?

    我有一个要求 但如何开始有点困难 我寻求一些帮助 我有三个表 即服装 类别和材料 考虑服装表包含 男装 童装 我有一个页面来添加服装 在添加服装时 我需要一个下拉菜单 其中应列出类别 选择类别后 属于所选类别的材料应出现在多选框中 我们可以
  • angular-cli如何添加全局样式?

    我使用 Sass 创建了一个全局样式表并将其放在public style styles scss 我只指定背景颜色 在索引中 我添加了一个链接 背景颜色不适用于 body 标记 检查正文标签后 我可以看到背景颜色已应用但被否决scaffol
  • 如何在面板中的另一个 WPF 窗口内加载 WPF (xaml) 窗口?

    这可能吗 我使用了 Frame 控件并且 显示 例如 showwindow xaml 但我收到这个错误 根元素对于导航无效 确保您可以使用以下方式导航 显示 窗口 YourFrame Navigate YourWindow 然而 我不太喜欢
  • 如何使用张量板制作散点图-tensorflow

    现在 我正在研究张量流 但是 我无法使用张量板绘制点图 如果我有训练样本数据 就像那样 train X numpy asarray 3 3 4 4 5 5 6 71 6 93 4 168 9 779 train Y numpy asarra
  • jQuery - 如何按属性名称开头选择值

    我想通过给出属性名称 仅开头 来选择属性值 例如 如果我们有 html 标签 div class slide div 我想从属性中选择以以下开头的值data 先谢谢您的帮助 如果您想要所有 data 属性 您可以迭代 jq 数据对象 sli