Метод setAttribute не работает все время

У меня есть код, который при наведении курсора отображает некоторый текст в div вверху страницы в зависимости от выбранного параметра.

Когда я меняю параметр, текст, отображаемый при наведении, работает только иногда.

Я извлекаю информацию из SVG, и это информация, которую я меняю.

Это одно из значений из SVG:

<path id = "HI" data-info = "<div>State: Hawaii</div><div>Capital: 
  Honolulu</div>"

Я меняю это на это:

document.getElementById('HI').setAttribute('data-info','State: Alabama  
 </br> Owner: xyz ');

И этот метод вызывается внутри .change(function()), поэтому, когда я меняю Option, он обновляет информацию.

И это моя функция наведения

 $("path, circle").hover(function(e) {
 $('#info-box').css('display','inline');
 $('#info-box').html($(this).data('info'));
  });

Опять же, это работает только иногда, поэтому я не совсем понимаю, почему информация не обновляется постоянно.

Надеюсь, вы, ребята, можете помочь.

Можете ли вы привести пример пути, который не работает?

Kramb 31.01.2019 21:15

Нужны SVG и HTML. Во-первых, мы не можем предположить, что вы нацелились на правильный тег, поэтому нам нужен HTML. Во-вторых, обычно в SVG содержится масса критической информации, которая могла бы нас просветить.

zer00ne 31.01.2019 23:13
Поведение ключевого слова "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
2
41
1

Ответы 1

Если вы используете jQuery и используете функцию данные, то почему бы не использовать ее для установки значения, а также для чтения?

$(this).data('info', 'State: Alabama </br> Owner: xyz');

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