我知道jQuery的工具提示部件的前提是绑定了它具有提示功能之前存在一个提示一个HTML元素可以使用,因此该段将工作:添加提示内容动态
$('#test').append('<span id="testspan" title="My test span">Hello world</span>");
$('#testspan').tooltip();
但是,我通过遍历一些json创建了一个完整的HTML部分,然后将整个部分附加到我的页面。我创建的每条记录都有一些跨度,我也想使用content
参数来添加一些自定义内容。使用下面的伪代码,因为当我打电话.tooltip()
不存在的元素将无法工作:
// parse JSON
/*
...
*/
// add results to page
var html;
for (var i=0; i<json_output.length; i++) {
html+='<span id="' + i + '">' + json_output[i][0].val + '</span>';
$('#' + i).tooltip({content: "Some complicated stuff from " + json_output[i][1].val + " that can't be in a title attribute"});
}
$('#mycontent').append(html);
我可以打电话给我的循环中append
- 但我想有性能问题对于这一点,我也可以存储数据放在一个单独的数组中,并循环遍历所有数据,并在调用.append()
之后创建所有工具提示 - 但这并不是很干净。有没有使用回调函数(或类似的)设置content
参数的方法?
为什么不用所有工具提示使用相同的类名称,然后调用$(“。classname”)。tooltip(); –
Sory,我应该更清楚的是,工具提示内容也是独一无二的 - 已更新问题以反映这 – ChrisW
我认为你必须使用$(“#”+ i).tooltip(... –