如何从HTML文件中分离工具提示文本

时间:2011-11-03 13:58:21

标签: javascript jquery jquery-plugins tooltip

我正在使用this plugin获取工具提示。它使用title属性作为工具提示文本占位符。有太多的工具提示文本,我想将它们全部放在一个地方,以便轻松维护或更新。什么是一个好方法?

我的想法是在js文件中创建一个地图,例如:

var tooltiptext =
[{
"label_1": "description for label 1",
"label_2": "description for label 2",
"label_3": "description for label 3",
...
}]

并使用jquery将这些标题内容添加到$(document).ready的页面中。 这是一个好主意吗?

2 个答案:

答案 0 :(得分:2)

你不需要方括号。假设对象中的label表示元素的ID。然后使用:

var tooltiptext = {
    "label_1": "description for label 1",
    "label_2": "description for label 2",
    "label_3": "description for label 3",
    //....
    "label_n": "description for label n"
};
$.each(tooltiptext, function(label, title){
    $("#" + label).attr("title", title).tooltip();
});

在循环内部,您要设置元素的title 属性。然后,调用tooltip

答案 1 :(得分:1)

如果可以的话,我想转移你选择的路径。

将工具提示作为标题属性放入HTML本身要好得多,因为......

  1. 作为开发人员,您将有意义 - 文本是它将被使用的位置,因此您可以看到它正在使用的上下文。如果您有一个包含这些资源的JavaScript文件,您将成为依靠标签告诉你文本的使用位置,随着列表的增长,这将变得很麻烦。

  2. 它会起作用!如果JavaScript被禁用,或者设备没有运行JavaScript,或者您的JavaScript中有错误,则title属性仍然会显示工具提示 - 它可能看起来不像很酷的JavaScript工具提示,但你可以保证所有用户都可以在工具提示中获取信息。

  3. 稍后,如果您支持多种语言或从内容管理系统获取内容,您将需要通过服务器而不是通过JavaScript注入文本 - 将文本放在标题标记中,它可用于您的JavaScript,因此您不再需要将JavaScript与内容管理系统保持同步,也无需获取JavaScript文本资源的翻译版本。

  4. 我希望这可以帮助你下定决心。