@historydev
Острая аллергия на анимешников

Почему не фильтруются блоки?

Есть скрипт, который должен фильтровать блоки по data-атрибуту, но он почему-то выводит их все.

Вот код:

<!DOCTYPE html>
<html>
   <head>
      <title>Filter</title>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
      
      <style>
      	.n_name {
      		display: none;
      	}
      </style>
      
      
   </head>      
   <body>
   	<div data-genre="action,50,66,ihsjjs" class="n_name">12345</div>
	<div class="n_name fd">1245</div>
	<div class="n_name fd">1234</div>
	<div class="n_name">2345</div>
	<div class="n_name fd">1235</div>
	<button class="find">Click</button>
	
	
	<script>
      	
      	
	
	var gnr = $('.n_name').data('genre').split(',');
	
	var data=[gnr];
	
	var count = ['action',50,66,'ihsjjs'];
	
	$('.find').click(function() {
		
		for(i=0; i<data[0].length; i++) {
			setInterval(function() {
				if(data[0][i] == count[i]) {
					$('.n_name').data('genre',i).css('display','block');					
				}
			},1000);
			alert(data[0][i] + count[i]);
		}			
	});
      </script>
	
   </body>
</html>
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
Kreven
@Kreven
Front-End Dev at IO Techologies
Не фильтрует, потому что Ваш JS каждую секунду присваивает всем целевым блокам новый data-genre атрибут.
Если я правильно понял задумку, то работает оно, как вариант, вот так:
(я добавил ещё один data-genre для наглядности)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы