首页 > 解决方案 > 方法 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()) 内部调用,因此当我更改选项时,它会更新信息。

这是我的悬停功能

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

同样,这只是有时有效,所以我不确定为什么信息不会一直更新。

希望大家能帮忙。

标签: javascripthtmlsvg

解决方案


如果您使用 jQuery 并使用数据函数,那么为什么不使用它来设置值以及读取呢?

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


推荐阅读