javascript - 从数据属性中获取具有相同前缀的所有键/值对

标签 javascript jquery custom-data-attribute

我正在开发一个平台,希望统一和标准化整个平台的某些行为...html 元素中的 data- 属性将发挥重要作用...

假设我有一个按钮:

<a href="..." class="btn" data-tip="My button" data-modal_tile="Foo" data-templade_data_id="14" data-templade_data_action="reset">...</a>

现在,我的 Javascript 处理此按钮的行为。

我想要的是设置一个 template_data 数组,这将为我提供具有相同前缀 (data-template_data_) 的 data- 属性中的所有键/值对... 所以在我的例子中我会得到:

{
    id: "14",
    action : "reset"
}

最好的方法是什么?

最佳答案

试试这个

var array = [];
$( ".btn" ).each( function(){
    var obj = {};
    $.each(this.attributes, function() 
    {
        if(this.name.indexOf( "data-templade_data_" ) == 0 ) 
        {
            var key = this.name.replace( "data-templade_data_", "" );
            obj[ key ] = this.value;
        }
    });
    array.push( obj );
} );

关于javascript - 从数据属性中获取具有相同前缀的所有键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230878/

相关文章:

javascript - RTKQ - 不带钩子(Hook)的选择数据

javascript - 如何生成带有转义字符的json字符串

javascript - jQuery DataTable 响应式不适用于 Bootstrap 3

html - 在 css 中为自定义数据属性分配优先级

javascript - 数据属性区分大小写

javascript - 如何使用 jquery 查找并选择所有具有数据属性并以特定单词开头的元素?

javascript - 变量从无处传递到地理位置函数

javascript - 如何通过 webpack 配置和使用 jQuery

jquery - 如何将图标设为占位符

jQuery .add 方法