jquery - 使用 jQuery 选择具有通配符模式的属性名称存在的元素
问题描述
我有具有自定义数据属性的 HTML 元素,这些属性具有不同的结尾但开头相同(不是值,而是属性名称本身)。这些属性可能有价值,也可能没有。我怎样才能选择所有这些?
<div data-validator-required> DIV 1</div>
<div data-validator-number="5.2"> DIV 2</div>
<div data-validator-submit> DIV 3</div>
<div data-validator-pattern="\d{5}-\d{3}-\d"> DIV 4</div>
我想选择所有具有名为“ data-validator-*
”的数据属性的元素,正确的 jQuery 选择器是什么?
解决方案
试试这个,你就完成了......简单易行......
$('div').filter(function() {
for (attr of this.attributes)
if (attr.name.startsWith("data-validator")){
alert($(this).text());
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-validator-required> DIV 1</div>
<div data-validator-number="5.2"> DIV 2</div>
<div data-validator-submit> DIV 3</div>
<div data-validator="\d{5}-\d{3}-\d"> DIV 4</div>
推荐阅读
- android - 与项目“:app”中的依赖项“com.android.support:support-annotations”冲突。应用程序 (26.1.0) 和测试应用程序 (27.1.1) 的已解决版本不同。
- android - 地理围栏问题 - addGeofence() 不“工作”?
- javascript - 如何在 executeScript 方法中显示带有变量的 javascript 代码?
- amazon-web-services - Ansible aws 网络负载均衡器
- arrays - Swift显示数组中先前输入的项目
- excel - Excel VBA-浏览并打开文件,将打开的文件粘贴到宏表中
- php - 带有元素修改的array_filter
- azure - Azure AD - 在 WebAPI 中切换用户身份以使用下游服务?
- c - c中的scanf(%100s)是什么意思
- php - 这个 php 清理是否正确,还是我应该尝试其他方法?