我有一个html元素的网格,每个元素都有一个data-category属性。某些data-category属性具有多个值,以逗号分隔:data-category="category 2, category 3"。有些具有单个值:data-category="category 1",没有分隔符。我使用这个简单的脚本按类别过滤元素:$('#category-selector').on('change', function(){ var $item = $('#items-container').find('.item'), current = $(this).val(); if(current == 'all'){ $item.fadeIn(200); } else { $item.hide(200); $item.each(function(){ var category = $(this).data('category').split(', '); console.log(category); if($.inArray(current, category) >= 0){ $(this).fadeIn(200); } }); }});.posts-grid { margin-top: 25px;}.posts-grid>[class*='col-'] { display: flex; flex-direction: column; margin-bottom: 25px;}.posts-grid .block { background: #fff; border-top: 1px solid #d5d5d5; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.11);}.posts-grid p { margin: 0; text-align: center;}.posts-grid .block { flex-grow: 1; display: flex; justify-content: center; flex-direction: column;}.posts-grid .read-more { margin-top: auto;}@media (max-width: 767px) { .container { max-width: 100%; }}@media (max-width: 575px) { .container { max-width: 100%; padding-left: 0; padding-right: 0; } .posts-grid>[class*='col-'] { padding-left: 5px; padding-right: 5px; }}令我感到惊讶的是,即使没有分隔符,我的split(', ')方法也会返回一个数组。问题:为什么会这样?我的过滤器可靠吗?
添加回答
举报
0/150
提交
取消