HTML5中的多个data-id值

时间:2015-02-19 20:26:26

标签: jquery html5

有多个data-id值是可行的吗? 我有以下li(充当jQuery脚本中的过滤器按钮) 我想将几个data-id挂钩到同一个li F ex:我有早餐,自助早餐,住宿加早餐。 我怎么能把他们挂到下面的李?这是否有某个海盗?

<li data-id="Breakfast" data-filter="board">
<a href="#">Breakfast<small class="total-bb"></small></a>
</li>

如果它有帮助,那么我使用上面的li

的jQuery
$(".filters li").on("click", function () {
        id = $(this).data("id");
        filter = $(this).data("filter");
        $("#hotel-list .col-sm-6").show() && id == "all" || $('#hotel-list .col-sm-6:not([data-'+filter+'="'+id+'"])').hide();
        return false;
    });

1 个答案:

答案 0 :(得分:3)

您可以将其添加为数组,jQuery将其作为数组读取

<li data-id='["Bed", "Breakfast"]' data-filter="board"></li>

var ids = $(this).data("id");

然后执行类似

的操作
$(".filters li").on("click", function (e) {
    e.preventDefault();

    var ids    = $(this).data("id"),
        filter = $(this).data("filter");

    $("#hotel-list .col-sm-6").hide();
    $('#hotel-list .col-sm-6").filter(function() {

        return ids.indexOf( $(this).data(filter) ) !== 0;

    });
});