Во-первых, Вам не хватает ""
Закрыть тег на class="list-filter
, data-target="#example1
и data-target="#example2
Во-вторых, Вы не звонили filter
функция. Это должно выглядеть так:
$( document ).ready(function() {
filter();
});
В-третьих, $dataContent = $('.filtered-content[id]');
неверно. Это может исправить это $dataContent = $(dataType);
Наконец, Вы должны добавить data-content
класс, а затем обработать jQuery как $(".data-content").addClass('hide');
вместо.
$( document ).ready(function() {
filter();
});
const filter = function () {
var $current = $('ul.list-filter li');
$current.on('click', function() {
var dataType = $(this).attr('data-target'),
$dataContent = $(dataType);
$('ul.list-filter li').removeClass('active');
$(this).addClass('active');
$(".data-content").addClass('hide');
$dataContent.removeClass('hide');
});
};
.hide {
display: none;
}
.active{
color:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="list-filter">
<li data-target="#example1">Example 1</li>
<li data-target="#example2">Example 2</li>
</ul>
<div class="hide data-content" id="example1">hi</div>
<div class="hide data-content" id="example2">hi-2</div>