Ваш текущий код не работает, так как у объектов jQuery нет метода replace()
.
Для получения требуемого результата вы можете зациклить каждый класс на элементе и удалить RIDXXX
из его имени.Для этого вы можете использовать коллекцию classList
вместе с методом replace()
, например:
$("#Master [class*='photo-']").each(function(i, el) {
el.classList.forEach(function(className) {
el.classList.replace(className, className.replace(/\-RID\d+/g, ''));
});
});
.photo-gallery {
color: #C00;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<main id="Master">
<div class="photo-gallery-RID459852 other any some">Algo</div>
<div class="photo-gallery-RID987410 other any some2 other2">Lorem</div>
<div>
<div>
<div class="photo-gallery-369841 other any some">ipsum</div>
</div>
</div>
<article>
<div class="photo-gallery-RID36541 here now other any some">dolor</div>
</article>
</main>