@hedin83
хочу работать веб-разработчиком

Как в JS взять из атрибута строку и по ней найти объект?

Добрый день. Есть HTML тег и в нем data- атрибут. В атрибуте задано имя объекта. Сам объект хранится в переменной. Атрибут возвращает строку и по ней нужно найти этот объект и задать ему свойство.
<div class="column" data-column="obj1">

<div class="column" data-column="obj2">

let obj1 = {};
let obj2 = {};

let columnData = document.querySelector('.column').dataset.column;

и в зависимости какой объект (obj1 или obj2) добавлять в него данные.

columnData[someValue] = someData;


Как использовать строку ColumnData, чтобы задавать свойства одноименному объекту?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Если я Вас правильно понял, то самый простой вариант для Вас это заменить let на var, либо намеренно объявлять свои объекты через window.obj1 = {};

И тогда в функции обработчике можно достать их через window[columnData]

Вот пример, нажимайте попеременно на разные строчки и смотрите что выводится в консоль.
Оно?


columnData[someValue] = someData; А вот это у Вас вообще странная строчка кода, так как columnData - строка, которая является значением data-атрибута у первого найденного в разметке элемента с классом .column. Обращение через квадратные скобки означает что Вы хотите прочитать конкретный символ из строки по его индексу. Перезаписать символ такой записью нельзя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы