jQuery $ .data('n')返回空白,但$ .attr('data-n')获得价值

时间:2019-12-02 10:41:44

标签: javascript jquery html

第三方javascript库已向与工具提示功能相关的元素添加了数据属性,如下所示:

<i id="button1" data-tooltip="xyz-tooltip"></i>

(要使它更加清晰,在加载时不会在文档中呈现它)

元素是触发工具提示的按钮,它们还将实际的工具提示附加到ID与数据工具提示(我要查找)内容匹配的文档上。

我正在使用jQuery,并假设我总是可以使用以下方式获取该数据:

var theTooltip = $("#button1").data("tooltip");

但是在我的情况下,theTooltip""。但是我可以使用以下命令获取它:

var theTooltip = $("#button1").attr("data-tooltip");

在什么情况下第一种方法不起作用?可能是因为初始化jQuery时元素没有这些属性(它们没有在服务器上呈现)吗?

1 个答案:

答案 0 :(得分:2)

答案是$.data()之前已经写过,但是随后 visible 数据属性也写到了其他内容上。然后,$.data()不再检索可见数据属性

JSfiddle:https://jsfiddle.net/sp2d74y1/1/