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

У меня есть data-value в моем php-коде, который используется в нескольких местах, например:

<a class = "dropdown-item" data-value = "<?= $i ?>"></a>
<a class = "dropdown-item" data-value = "<?= $k ?>"></a>

И теперь мне нужно использовать одно из этих значений в скрипте

getAttribute('data-value')

Но я не могу просто использовать data-value, так как это будет актуально для всего, что у меня есть, мне нужно использовать только это data-value = "<?= $k ?>"

Как я могу указать значение этой переменной в скрипте?

Если я не ошибаюсь, это не должно быть частью class, вместо этого делайте <a class = "dropdown-item" data-value = "<?= $i ?>"></a>

RiggsFolly 13.05.2022 16:28

@RiggsFolly Это не часть класса, я просто сделал небольшую ошибку, я изменил это как должно быть, извините

plwxw 13.05.2022 16:31

если у вас есть более одного data-value на разных элементах html, сначала вам нужно определить конкретный элемент html, а затем получить доступ к значению данных. так нравится elem.getAttribute('data-value');

RiggsFolly 13.05.2022 16:33

@RiggsFolly Но когда у меня даже одинаковые имена классов, как я могу это определить? добавить для этого отдельный класс?

plwxw 13.05.2022 16:35

да, или id

RiggsFolly 13.05.2022 16:37

Нам нужно будет увидеть больше вашего фактического кода, чтобы знать, как дать более конкретный ответ.

RiggsFolly 13.05.2022 16:38

@RiggsFolly Мой фактический код одинаков, классы везде одинаковые, только переменные разные, кажется, что единственный выход - добавить новый класс для этого

plwxw 13.05.2022 16:41

Покажите конкретный код, где вам нужно получить доступ к этому data-value

RiggsFolly 13.05.2022 16:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
8
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

поскольку вы хотите получить значение данных определенного элемента с помощью переменной $k, лучше всего указать идентификатор этого конкретного элемента и выбрать его по идентификатору:

HTML

<a id = "element_with_k" class = "dropdown-item" data-value = "<?= $k ?>"></a>

JS

const elementWithK = document.getElementById('element_with_k');

elementWithK.dataset.value // "the content of $k"

Если вы хотите выбрать несколько элементов, вы добавляете дополнительный класс к этим элементам, запрашиваете все элементы, которые имеют дополнительный класс, перебираете их и получаете значение каждого элемента.

Надеюсь, это поможет, ура!

Другие вопросы по теме