Fqyeh29
@Fqyeh29
↓ ИМХО ↓

Как скрыть элемент по его атрибуту data?

<a data-id='1' data-idi='5'>Пункт 1</a>
<a data-id='2' data-idi='3'>Пункт 2</a>
<a data-id='5' data-idi='6'>Пункт 3</a>
<a data-id='5' data-idi='9'>Пункт 4</a>


Задача такая, скрыть элемент не входящий в нужный диапазон id и idi.

Допустим выбрали мы "3", значит надо оставить:

<a data-id='1' data-idi='5'>Пункт 1</a>
<a data-id='2' data-idi='3'>Пункт 2</a>


а для "7":
<a data-id='5' data-idi='9'>Пункт 4</a>

Собственно вопрос:

Как поменять класс именно у не нужных элементов? Как их вообще отделить?

Заранее спасибо)
  • Вопрос задан
  • 1028 просмотров
Решения вопроса 1
@DanSorokin
Full-stack developer at onvoya.com
var num = 3;
var links = $('a');
links.each(function(){
!(+$(this).data('id') < num && +$(this).data('idi') > num)  ? $(this).addClass('hidden'); 
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmitryKovalskiy
программист средней руки
$("[data-id=something]").hide()
Можете этот код циклом прогнать по диапазону нужных значений атрибутов. Ну и признайтесь - даже не пытались гуглить?

UPD:
$("['data-id']['data-idi']").hide()
$("['data-id']['data-idi']").each(function(){
if($(this).data('id')<=something && $(this).data('idi')>=something)
{
$(this).show();
}
})

А так?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы