选择具有可变数据属性的元素,但是有些带有破折号

时间:2018-09-13 08:32:46

标签: javascript jquery jquery-selectors

因此,我正在根据其数据属性及其值来选择一个单击的span元素。我做了这个

    function moveFilterElements(event) {

        if ($(event).hasClass('active')) {
            var dataAttributes = $(event).data(),
                dataKey = Object.keys(dataAttributes)[0],
                dataValue = dataAttributes[Object.keys(dataAttributes)[0]];
            $(event).parents('.filters-container').find('.label[data-' + dataKey + '=' + dataValue + ']').toggleClass('active');
            $(event).parents('.filters-container').find('.btn-show-filters').find('.label[data-' + dataKey + '=' + dataValue + ']').remove();
            updateFiltering();
        }
        else {
            var clonedActiveItem = $(event).clone(true);
            $(event).parents('.filters-container').find('.filters-selected').append(clonedActiveItem);
            clonedActiveItem.toggleClass('active');
            $(event).toggleClass('active');
            updateFiltering();
        }
    }

F.ex数据属性如下所示:'data-subject'-正常工作。

由于HTML DOM标准,“数据类别名称”转换为“类别名称”。

我可以只给它们命名为“ data-categoryname”来绕过它,但这也与命名标准相冲突。

那么我该如何解决呢?我是否需要使用正则表达式再次将单词分开?那是唯一的方法吗?

0 个答案:

没有答案