Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужна помощь по JS

Andrey Efimov Ученик (81), закрыт 3 года назад
Нужно реализовать код на JS или JQuery, который позволит: взять значение data-rel по клику на fil-cat и отрыть только тот fitem у которого 9-й символ data-slug совпадает с data-rel у fil-cat.
Буду благодарен любой помощи.

Дополнен 3 года назад
как получить данные я в общем решил, но как это использовать не додумал
$(document).on('click', '.fil-cat', function (e) {
$(this).attr('data-rel');
var relData = $(this).attr('data-rel');
var slug = $('.fitem').attr('data-slug')[8];
Лучший ответ
Elepsis Eclipse Гений (64065) 3 года назад
$(document).on('click', '.fil-cat', function(e) {
  var rel = this.dataset.rel;

  $('.fitem').each(function() {
    $(this).toggle(this.dataset.slug[8] == rel);
  });
});

`8-й символ` - такой себе критерий поиска... оно гарантированно всегда будет 8-м?
Лучше бы сделать дополнительный дата-атрибут с 100% совпадением.
Остальные ответы
Babaduk Просветленный (21017) 3 года назад
ты че взял заказ на фрилансе?
Lolita NabokovskayaМастер (1124) 3 года назад
по___б засчитан )
Кирилл Соловьев Мудрец (14863) 3 года назад
Если я раньше и думал что может стоит научится писать яву... Как прочитал "у которого 9 символ data-slug....", кажется, понял. Ява не моё)

Извини конечно за оффтоп, можешь скрывать.
Elepsis EclipseГений (64065) 3 года назад
При чем тут моё-не моё... Чтобы оно стало `своим`, нужно для начала знать синтаксис.
Кирилл Соловьев Мудрец (14863) Elepsis Eclipse, грю же, не моё)
Сергей Годырев Знаток (264) 3 года назад
const b = document.querySelectorAll('.fitem');
document.querySelectorAll('.fil-cat').forEach(t => {
t.addEventListener('click', () => {
b.forEach(c => {
c.style.display = 'none'
if(c.dataset.slug[8] === t.dataset.rel) {
c.style.display = 'block'
}
})
})
})
Похожие вопросы