@bifshteksex

Как получить id из data-атрибута?

Всем привет!
Есть ссылка с data-атрибутом:
<a href="#" class="main-grid-row-action-button" data-actions="([{'text':'Выбрать','default':true,'onclick':'tbl_product_search_crm_entity_product_list_helper.SelEl({\'id\':\'48597\',\'type\':\'E\'}, this);'}])"></a>

Как правильно перебрать этот массив в JS и вытащить id?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
@PantyDev
Смущают скобочки в data-actions="()". Это не стандартная разметка JSON.
const element = document.querySelector(".main-grid-row-action-button");
if(element) {
    const actions = element.dataset.actions;
    const toParse = actions.slice(1,-1); //удаляем странные скобки
    const parsed = JSON.parse(toParse); 
    foreach(const action in parsed) {
        const startIndex = action.onclick.indexOf("id\':\'");
        const endIndex = action.onclick.indexOf("\'", startIndex);
        const id = action.onclick.substring(startIndex + "id\':\'".length, endIndex - startIndex);
        console.log(id);
    }

}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы