我正在使用tooltipster
生成工具提示,但我想根据附加元素的数据属性设置工具提示。如何获取关联数据,以便我可以设置图像URL,如下所示。这就是我一直在尝试的:
$(".test").tooltipster({
var datainfo = $(this).data("info");
content: $('<div class="desc"><img src="img/'+datainfo+'.jpg"/></div>')
});
我的HTML基本上是:
<div class="test tooltip" data-info="AAA">Testing</div>
答案 0 :(得分:2)
您的参数是json,而不是功能块,因此您需要将datainfo行从那里取出(它是javascript,而不是json)。也许这对你有用:
var datainfo = $(".test").data("info");
$(".test").tooltipster({
content: $('<div class="desc"><img src="img/'+datainfo+'.jpg"/></div>')
});
我想你想在这种情况下设置一些显示图像的工具提示,让我们假设每个人都有一个类&#34; test&#34;。
$(".test").each(function(){
$(this).tooltipster({
content: $('<div class="desc"><img src="img/' + $(this).data("info") + '.jpg"/></div>')
});
});
答案 1 :(得分:0)
您的插件可能无法以这种方式运行。您正在传递几行代码而不是插件中的键,值对选项。
如果您想要data-info
值,简单的解决方案是绑定mouseover事件,然后获取该属性值。
示例:强>
$(".test").on("mouseover",function(){
var datainfo = $(this).attr("data-info");
});
注意:如果插件删除了data-attribute,那么您可能需要使用另一个属性来获取图像的src。
答案 2 :(得分:0)
你可以试试这个小技巧!!
添加要显示工具提示的类名tooltipShow
[或任何内容]。使用该类捕获元素上的hover
,如下所示:
$('.tooltipShow').on('hover',function(){
$(this).tooltipster({
content: $('<div class="desc"><img src="img/'+$(this).data('info')+'.jpg"/></div>')
});
});