Значение пользовательского атрибута изменяется через jquery, но изменение не отображается в отображаемом HTML

Я использую ball.css для всплывающей подсказки.

Текст всплывающей подсказки к элементу берется из пользовательского атрибута 'data-balloon'.

Я хочу динамически загружать текст всплывающей подсказки.

Я могу изменить его через jquery, но новый текст не отображается в отображаемом html.

Вот мой код:

Упоминание HTML-кода ниже:

<div id="instruction_div_main" data-balloon="Original text"></div>

Упоминание кода Jquery ниже:

alert($("#instruction_div_main").attr("data-balloon"));
// alert shows "Original text"

$("#instruction_div_main").attr("data-balloon","New Text");

alert($("#instruction_div_main").attr("data-balloon"));
// alert shows "New text"

Но теперь, когда я навожу курсор на этот div, он не показывает новый текст, он по-прежнему показывает «Исходный текст».

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

К вашему сведению: я столкнулся с аналогичной проблемой для атрибута title.

**Обновлять **

Я показываю эту всплывающую подсказку на каком-то значке, который отображается в диалоговом окне пользовательского интерфейса jquery. В этом диалоговом окне есть кнопка «Назад», которая скрывает значок и показывает некоторые переключатели. И когда вы выбираете любую радиокнопку, значок снова отображается, радиокнопка исчезает. И на этот раз всплывающая подсказка иконки должна быть новой. Я использую приведенный выше код, но исходный текст отображается, где я вижу, что значения атрибутов были изменены, но не отображаются во всплывающей подсказке значка.

введите здесь описание изображения


person Anjum    schedule 30.06.2016    source источник
comment
Вам нужно повторно инициализировать всплывающую подсказку после изменения атрибута...   -  person Jayesh Chitroda    schedule 30.06.2016
comment
Я не знаю, как это сделать, но, к вашему сведению, я здесь не использую плагин всплывающей подсказки.   -  person Anjum    schedule 30.06.2016
comment
Я только что попробовал... И на моей стороне показывает «Новый текст».   -  person Louys Patrice Bessette    schedule 30.06.2016
comment
Как вы показываете всплывающую подсказку, можете ли вы опубликовать эту часть кода?   -  person Anupam    schedule 30.06.2016
comment
@anu: см. здесь: github.com/kazzkiq/balloon.css/ blob/master/balloon.css   -  person Louys Patrice Bessette    schedule 30.06.2016
comment
@Anjum: Вы загрузили jQuery, чтобы использовать $("#instruction_div_main").attr("data-balloon","New Text"); ??   -  person Louys Patrice Bessette    schedule 30.06.2016
comment
@LouysPatriceBessette - да, я использовал jquery   -  person Anjum    schedule 30.06.2016
comment
проверьте DOM с помощью инструментов разработки, чтобы увидеть, действительно ли атрибут обновляется или нет, потому что он работает на меня. Также проверьте наличие ошибок в консоли   -  person Anupam    schedule 30.06.2016
comment
Я проверил DOM, проверив элементы. Но и в html он не меняется   -  person Anjum    schedule 30.06.2016
comment
Я загрузил файл jquery, потому что мое диалоговое окно jquery отображается без проблем.   -  person Anjum    schedule 30.06.2016
comment
На консоли ошибок нет. Там тоже все ясно.   -  person Anjum    schedule 30.06.2016
comment
Я обновил свой вопрос, пожалуйста, посмотрите на него   -  person Anjum    schedule 30.06.2016
comment
Проверьте наличие опечаток в data-balloon в функции изменения атрибута... Так как ваш пример здесь не может быть вырезанием и вставкой... Возможно, вы набрали data-ballon или что-то в этом роде. ;)   -  person Louys Patrice Bessette    schedule 30.06.2016
comment
Если он не обновляется в DOM, вам нужно отладить код, в котором вы обновляете атрибут. Поставьте там точку останова и проверьте, выполняется ли эта часть кода или нет. И выполняется ли он тогда, как он снова сбрасывается   -  person Anupam    schedule 30.06.2016
comment
Это действительно очень сбивает с толку, потому что я выполнил оператор alter и в предупреждениях я получаю обновленные значения, но когда я наводил курсор на этот элемент, все еще старая всплывающая подсказка/заголовок   -  person Anjum    schedule 01.07.2016


Ответы (1)


Пожалуйста, посмотрите прикрепленный фрагмент.

alert($("#instruction_div_main").attr("data-balloon"));
// alert shows "Original text"

$("#instruction_div_main").attr("data-balloon","New Text");
$("#instruction_div_main").html("New Text");
$("#instruction_div_main").attr("title","New Text");
alert($("#instruction_div_main").attr("data-balloon"));
// alert shows "New text"
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="instruction_div_main" title="Original text" data-balloon="Original text">Original text</div>

person DiniZx    schedule 30.06.2016