Как указать класс jQuery с опциональной цифрой в конце или перечислить несколько классов? Например, мне нужно взаимодействовать с классами filter-block, filter-block2, filter-block3 и так далее. Как это можно сделать в представленном скрипте?
Для указания класса в скрипте с опциональной цифрой в конце вы можете использовать специальный селектор в jQuery, например:
```javascript
$('div[class^="filter-block"]')
```
Этот селектор будет выбирать все элементы `<div>` с классами, начинающимися на "filter-block", независимо от цифры в конце.
Если вам нужно взаимодействовать с несколькими классами, например, с filter-block, filter-block2, filter-block3 и так далее, вы можете использовать селектор jQuery с несколькими классами:
```javascript
$('.filter-block, .filter-block2, .filter-block3')
```
Этот селектор выберет все элементы, имеющие классы filter-block, filter-block2 и filter-block3.
Таким образом, вы можете использовать специальные селекторы и комбинации классов для выбора нужных элементов в вашем скрипте.
Можно сделать выборку по классам: <br/> <pre><code class="javascript">let items = document.querySelectorAll("[class^='filter-block']")
let items.forEeach(item => {
// ...
});</code></pre> <br/> <br/> <code>[class^='filter-block']</code> означает, что вы будете делать выборку по всем элементам, у которых <b>значение указанного аттрибута</b> (В нашем случае, мы указали аттрибут <code>class</code> ) будет <b>начинаться</b> (Это делается при помощи такой конструкции как <code>^=</code> ) с указанного значения (Мы указали <code>filter-block</code> ), после которого могут следовать другие символы (Т.е. <code>filter-block2</code> , <code>filter-block-filter-block-filter-block</code> , <code>filter-block-123</code> , <code>filter-blockkkkkkkkkkkkkkkkk</code> и так далее, это всё будет проходить через выборку, т.к. имеет общее начало <code>filter-block</code> )
Я наверное не правильно изъяснился, мне нужно что бы получилось так <br/> <pre><code class="javascript">$(document).on('click', function(e) {
if (!$(e.target).closest(".filter").length) {
$('.filter-block').hide();
}
e.stopPropagation();
});
$(document).on('click', function(e) {
if (!$(e.target).closest(".filter2").length) {
$('.filter-block2').hide();
}
e.stopPropagation();
});
$(document).on('click', function(e) {
if (!$(e.target).closest(".filter3").length) {
$('.filter-block3').hide();
}
e.stopPropagation();
});
$(document).on('click', function(e) {
if (!$(e.target).closest(".filter4").length) {
$('.filter-block4').hide();
}
e.stopPropagation();
});
$(document).on('click', function(e) {
if (!$(e.target).closest(".filter5").length) {
$('.filter-block5').hide();
}
e.stopPropagation();
});</code></pre> <br/> этот код конечно не правельный, но смысл такой. Каждый class .filter{0-9] должен взаимодействовать с .filter-block{0-9]