我试图创建一个元素属性值数组,其中属性名称以字符串" 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>
所以数组&#39; attrs&#39;应包含{somevalue1, somevalue2, somevalue3}
答案 0 :(得分:0)
首先,HTML无效。您不能在不使页面无效的情况下向元素添加非标准属性,这可能会导致UI和JS问题。请尝试使用data-*
属性:
<div class="someclass" data-firsttoselect="somevalue1" data-secondtoselect="somevalue2" data-thirdtoselect="somevalue3"></div>
从那里你可以使用*toselect
创建一个map()
值的数组,并针对正则表达式测试值,如下所示:
var data = $('.someclass').data();
var values = $.map(data, function(value, key) {
if (/toselect$/i.test(key))
return value;
});