创建属性值数组,其中属性名称以特定字符串结尾
Create array of attribute values where attribute name ends with certain string
我正在尝试创建一个元素属性值数组,其中属性名称以字符串"toselect"结尾。我在页面上有很多这样的元素,但我只想要我点击的元素的值。我不知道jquery .attr()
函数是否包含通配符。我正在使用jquery,但我也会对纯javascript anwser 感到满意
我知道这行不通,但我需要类似的东西。
var attrs[] = $(this).attr('*toselect');
html看起来像这个
<div class="someclass" data-firsttoselect="somevalue1" data-secondtoselect="somevalue2" data-thirdtoselect="somevalue3"></div>
因此数组"attrs"应包含{somevalue1, somevalue2, somevalue3}
首先,HTML是无效的。在不使页面无效的情况下,无法向元素添加非标准属性,这可能会导致UI和JS问题。尝试使用data-*
属性:
<div class="someclass" data-firsttoselect="somevalue1" data-secondtoselect="somevalue2" data-thirdtoselect="somevalue3"></div>
从那里,您可以通过使用map()
并根据Regex测试值来创建*toselect
值的数组,如下所示:
var data = $('.someclass').data();
var values = $.map(data, function(value, key) {
if (/toselect$/i.test(key))
return value;
});
小提琴示例
相关文章:
- 如何替换数据属性中的特定字符串单词
- 未捕获的InvalidValueError:setIcon:不是字符串;并且没有url属性;并且没有路径属性
- 如何在只接受字符串值/文字的HTML属性中调用函数
- 获取一个对象´s属性的名称使用字符串
- 如何从字符串变量访问对象属性
- 将属性作为字符串存储在变量中
- 作为onclick确认的一部分,Razor中的字符串属性
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- Javascript将数组中对象的属性转换为字符串
- 使用变量访问 JSON 属性(字符串)
- 如何在 html 属性字符串中使用 JavaScript 变量
- 根据当前属性值更改属性字符串
- 拆分属性字符串并附加额外的文本
- 如何循环遍历嵌套对象,使用for in循环并返回连接的每个属性字符串
- 在对象上设置属性字符串Javascript
- 用JavaScript设置CSS属性字符串
- 如何用属性字符串化Javascript函数对象
- 如何替换 html 标记属性字符串中的多个“<”和“>”
- Javascript对象属性:字符串或整型
- 从属性字符串运行函数