Вы можете использовать группу захвата, чтобы получить номер наложения только тогда, когда он появляется после launch-overlay-
:
var overlaynum = this.className.match(/launch-overlay-(\d+)/)[1];
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^ ^^^−−− capture group 1
Обратите внимание, что я получаю номер через [1]
вместо [0]
, так как это первая группа захвата (нам не нужно полное совпадение, которое находится в [0]
).
Живой пример (мне пришлось исправить несколько вещей там, но они, похоже, не связаны с вопрос):
$('div[class*="launch-overlay-"]').click(function(){
// Get the number from the relevant class
var overlaynum = this.className.match(/launch-overlay-(\d+)/)[1];
$('.overlay-container-'+overlaynum).addClass('-active');
});
.-active {
color: blue;
font-weight: bold;
}
<div class="other-class launch-overlay-1 other">click me - I have another class</div>
<div class="other-class launch-overlay-2">click me</div>
<div class="overlay-container-1">overlay container 1</div>
<div class="overlay-container-2">overlay container 2</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>