这是我的浏览器扩展脚本代码。名称数组中的字符串通过使用javascript插件用class =“。highlight”围绕它们来突出显示。当用户将鼠标悬停在突出显示的单词上时,倾斜的插件会使用AJAX数据创建工具提示。 php API库使用AJAX数据创建工具提示,显示有关给定单词的信息。
我的代码:
var names = ["Barack Obama", "Thursday"];
var number = ["N00007360", "N00001817"];
for (var x = 0; x < names.length; x++) {
$("div").highlight(names[x], true);
}
jQuery(document).ready(function($) {
Tipped.setDefaultSkin('white');
Tipped.create(".highlight", "example.php", {
ajax: { data: { id: "N00007360" }, type: 'post' }
});
});
我不确定如何在AJAX数据部分的数字数组中发送相应的值。截至目前,为所有突出显示的单词创建了SAME工具提示 - 使用传递给php API库的id N00007360。我需要的是工具提示为数字数组中的每个单词(名称数组)发送相应的字符串。
示例(我需要的):将鼠标悬停在Barack Obama这个词上,并将ID“N00007360”作为AJAX数据发送。将鼠标悬停在星期四,并将ID“N00001817”作为AJAX数据发送。
感谢您的帮助。
答案 0 :(得分:2)
我认为这样的事情可能有用。
每个对象键都会突出显示,然后为每个高亮类获取文本并使用它来调用对象键的值
var obj = {
"Barack Obama" : "N00007360",
"Thursday" : "N00001817"
};
jQuery(document).ready(function($) {
$.each(obj, function(key, value) {
$("div").highlight(key, true);
});
Tipped.setDefaultSkin('white');
$('.highlight').each(function() {
var currentKey = $(this).text();
Tipped.create(this, "example.php", {
ajax: { data: { id: obj[currentKey] }, type: 'post' }
});
});
});
如果您修改突出显示插件以允许添加其他html属性(例如数据属性),那么洞穴内容可能会更容易,但我想这可能已经足够了