Получить классы у которых конечное название одинаково

108
27 марта 2021, 11:00

Есть классы, например add_pdd-value, bdd_ogg-value, fff_ooo-value И таких классов штук 15. Все заканчиваются на value. Как получить все эти классы, зная, что они заканчиваются на value?

Answer 1

let test = [...document.querySelectorAll('[class$="value"]')]; 
 
test.forEach((el) => console.log(el.getAttribute('class')));
div { 
  border: 1px solid black; 
  margin: 5px; 
}
<div class="add_pdd-value">add_pdd-value</div> 
<div class="bdd_ogg-value">bdd_ogg-value</div> 
<div class="something">something</div> 
<div class="fff_ooo-value">fff_ooo-value</div> 
<div class="something-else">something-else</div>

Конечно тут при выводе в консоль пока не учитывается то, что в элементе могут быть еще и другие классы. Но найти элементы можно по [class$="value"]

В CSS селектор [attribute$="value"] как раз ищет элементы, у которых указанный атрибут заканчивается на какое-то значение

Answer 2

Попробуйте так:

arr = []; 
 
document.querySelectorAll("*").forEach((elem) =>  
    elem.classList.forEach((c) => { 
        if (c && c.length > 0 && c.match(/value/gi)) { 
             // здесь и сейчас в elem лежит результат 
             document.getElementById("result").appendChild(elem) 
             // ссылки на результат можно сохранять в массив, например 
             arr.push(elem); 
        }	 
    }) 
); 
 
//console.log(arr);
<div class="abc-value">hello</div> 
    <p class="underclass-value">underClass</p> 
    <p class="underclass-vallllue">underClass NOT CORRECT</p> 
<div class="stillone-value with any classes">Correct with any classes</div> 
 
<div id="result"> 
    <h5>result:</h5> 
</div>

Должно работать с любым видом селекторов, вложенными элементами и с другими классами.

READ ALSO
Помогите разобраться в выводе

Помогите разобраться в выводе

Дорогие программисты,есть маленький кусок кода,который я,к сожалению,не понял,а именно : почему на выходе получается function, в коде нет метода...

122
Как сохранить таблицу html

Как сохранить таблицу html

Сделал таблицу в html (Имя,код паспорта,номер телефона, сумма, "не погашено/погашено") Суть такова что надо чтоб при нажатие на имя вылезало окошко,...

190
Двойной клик при использовании .click в JQuery

Двойной клик при использовании .click в JQuery

Есть элемент label с классом radioContainer, при клике на него должен раскрываться список selectmenu с классом meal, дело в том, что при клике происходить двойное...

123