我有很多表格单元格,我希望在悬停时显示工具提示。每个td元素都有一个rel属性,其中包含ajax的请求URI,用于将内容提取到工具提示中。现在我这样做:
$('table td.tooltipped').each(function() {
var uri = $(this).attr("rel");
$(this).bt({
ajaxPath: uri,
ajaxError: "<strong>Error!</strong> Here's what we know: <em>%error</em>."
});
});
对我来说似乎有点多余,但我无法弄清楚如何在没有每个循环的情况下做到这一点。有什么想法吗?
答案 0 :(得分:2)
Ajax动态路径:
正在从链接的'href'值读取AjaxPath 。这是通过将ajaxPath定义为数组来实现的。 数组的第一个值是用于查找路径值的jQuery代码(在本例中为“$(this).attr('href')”)...
所以看起来你可以这样做:
$('table td.tooltipped').bt({
ajaxPath: ['$(this).attr("rel")'],
ajaxError: "<strong>Error!</strong> Here's what we know: <em>%error</em>."
});
我会让你测试一下。
答案 1 :(得分:1)
each
没问题,因为.bt()
可能无法在参数列表中处理每个元素本身的引用。如果需要,您可以保留uri
声明,并节省一点内存:
$('table td.tooltipped').each(function() {
$(this).bt({
ajaxPath: $(this).attr("rel"),
ajaxError: "<strong>Error!</strong> Here's what we know: <em>%error</em>."
});
});