我正在使用jQuery UI在页面上提供多个工具提示,以获取不同属性的内容。
正在创建一个对象,定义哪个将成为每个工具提示的来源,具体取决于它的类。
类似的东西:
var tooltipparam = [{"class":".one","source":"alt"}, {"class":".two","source":"title"},{"class":".three","source":"alt"}];
然后我正在做一个循环来创建工具提示,如下所示:
for (var key in tooltipparam) {
var source = tooltipparam[key]['source'];
$(tooltipparam[key]['class']).tooltip({
content: function () { return $(this).attr(source) }
});
}
但是,正在使用参数对象的最新设置创建工具。在这种情况下,获取alt属性({“class”:“。three”,“source”:“alt”}并创建所有这样的工具提示。
我缺少什么?
这是一个jsfiddle:
http://jsfiddle.net/cmoreira/vqRH5/
感谢您的帮助!
答案 0 :(得分:1)
您的var source
是一个全局变量。当调用工具提示内容函数时,也就是说当您的鼠标输入<a/>
元素时,source
变量的值是最后一个设置为'alt'。
我不知道您的要求,但如果您想从不同的属性中检索工具提示内容,您可以这样继续:
<强> HTML 强>:
<div class="tooltip" title="tooltip from title" />
<img class="tooltip" alt="tooltip from alt" src="..."/>
<强> JS 强>:
$(".tooltip").tooltip({
content: function () {
var _this = jQuery(this);
return _this.attr('title') != '' ?
_this.attr('title') : _this.attr('alt');
}
});