Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » VBS/WSH/JS - Получение элемента по атрибуту data-*

Ответить
Настройки темы
VBS/WSH/JS - Получение элемента по атрибуту data-*

Новый участник


Сообщения: 18
Благодарности: 1

Профиль | Отправить PM | Цитировать


Здравствуйте.
Вот нашел и собрал вот такой код с ошибками (ошибки в строке с: elem = document.querySelector("div[data-reactid=sr]"); видимо не так что-то пишу)

Код: Выделить весь код
<script>
function chpok(sr){
    elem = document.querySelector("div[data-reactid=sr]"); //находим блок div и значение атрибута data-reactid
    state = elem.style.display; //смотрим, включен ли сейчас элемент
    if (state =='') elem.style.display='none'; //если включен, то выключаем
    else elem.style.display=''; //иначе - включаем
}
</script>
Он должен работать (т.е. отображать блоки div или скрывать при нажатии на кнопки) для тегов HTML вида:

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" - они уникальны для каждого объекта на странице тега div. И что тогда нужно сделать? Заранее спасибо за любой ответ.

Отправлено: 19:31, 22-08-2019

 

Старожил


Сообщения: 242
Благодарности: 49

Профиль | Отправить PM | Цитировать


поставьте
Код: Выделить весь код
@
в аргумент чтоб с указанным аттрибутом искать

Код: Выделить весь код
div[@data-reactid]

Отправлено: 23:55, 22-08-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Deadooshka


Сообщения: 2481
Благодарности: 670

Профиль | Отправить PM | Цитировать


потому что sr в строке - это просто sr.
Код: Выделить весь код
"div[data-reactid=\"" + sr +"\"]"
либо шаблонная строка
Код: Выделить весь код
`div[data-reactid="${sr}"]`
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:38, 23-08-2019 | #3



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » VBS/WSH/JS - Получение элемента по атрибуту data-*

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
G Data выпустила доклад по Android OSZone News Новости информационных технологий 1 07-05-2017 12:54
[решено] Получение IP по DHCP Raistlin Железо в Linux 3 10-04-2016 18:09
2008 - Идентификация пользователей по атрибуту комната(office) с помощью dsquery dogtown Windows Server 2008/2008 R2 7 12-02-2013 19:11
[решено] Получение карты высот по стереопаре lxa85 Цифровое изображение 1 13-08-2010 19:37
замена значения элемента массива другим значением элемента.. MXM Вебмастеру 1 20-05-2004 06:50




 
Переход