Показать сообщение отдельно
  #1 (permalink)  
Старый 22.08.2019, 13:45
Интересующийся
Отправить личное сообщение для kosmonavtom Посмотреть профиль Найти все сообщения от kosmonavtom
 
Регистрация: 07.03.2013
Сообщений: 27

Получение элемента по атрибуту data-*
Здравствуйте.
Нашел и собрал вот такой код с ошибками (ошибки data-reactid, elem = document.querySelector(#data-reactid); ):
<script>
function chpok(data-reactid){
    elem = document.querySelector(#data-reactid); //находим блок div который нужно как-то передать в функцию по data-reactid
    state = elem.style.display; //смотрим, включен ли сейчас элемент
    if (state =='') elem.style.display='none'; //если включен, то выключаем
    else elem.style.display=''; //иначе - включаем
}
</script>

Он должен работать (т.е. отображать блоки div или скрывать при нажатии на кнопки) для тегов HTML вида:
<button onclick="chpok('.1.$0')">
Вопрос 1
</button>
<div data-reactid='.1.$0' style="display:none">
Это выводится первый вопрос?
</div>
<button onclick="chpok('.1.$1')">
Вопрос 2
</button>
<div data-reactid='.1.$1' style="display:none">
Тут выводится второй вопрос.
</div>

Если везде заменить "data-reactid" на "id", и ошибочную строку на строку elem = document.getElementById(id); то все работает, но проблема в том, что в тегах на сайте нет и не будет аттрибута id. Подскажите пожалуйста можно ли получить элемент по атрибуту тега вида "data-reactid" - они уникальны для каждого объекта на странице. И что тогда нужно сделать? Заранее спасибо за любой ответ.

Последний раз редактировалось kosmonavtom, 22.08.2019 в 13:53. Причина: Ошибки не выделились в коде
Ответить с цитированием