检查html数据属性中的多个值

Ren*_*mit -1 html jquery custom-data-attribute

我有一个具有多个值的数据属性(data-day ="5,6,7"),我想将今天的日期与这些值进行比较.请在下面找到我创建的代码,但只有在数据属性中只有一个值时才能正常工作.我如何检查和比较今天日期与属性中的多个值?

<script>
    jQuery(document).ready(function(JQuery){
        var date = new Date();
        var getday = date.getDay();

        var show = 'today';

        jQuery(".cd-gallery ul li").each(function() {
            var running_days = JQuery(this).data('day');

            if (getday == running_days) {
                JQuery(this).addClass('today');
            }
            else {
            }
        });

    });

    </script>
    <section class="cd-gallery">
        <ul>

                <li class="mix weekends" data-day="5,6,7" >
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 5

您可以使用split()将逗号分隔的字符串转换为数组,然后indexOf在数组中查找匹配的值.试试这个:

jQuery(document).ready(function($){
    var getday = new Date().getDay();
    var show = 'today';

    $(".cd-gallery ul li").each(function() {
        var running_days = $(this).data('day').split(',');
        if (running_days.indexOf(getday.toString()) != -1)
            $(this).addClass('today');
    });
});
Run Code Online (Sandbox Code Playgroud)

示例小提琴

请注意,getDay()返回星期几.今天是星期五,意味着它将回归5.如果你想得到这个月的日子(今天是17),请使用getDate().