我想知道是否有人可以帮助解决我遇到的jQuery问题。
我正在使用Jquery工具库中的工具提示在鼠标悬停在hrefed图像上时创建一个弹出窗口,我想用它来定制调用以更改DIV中的内容。
我使用的链接格式为:
<a href="/venue/1313.htm" class="quickView"><img src="/images/site/quickView83.png" alt="Quick View" width="83" height="20" /></a>
我用来触发提示的代码是:
$(".quickView").live('mouseover', function()
{
if (!$(this).data('init'))
{
$(this).data('init', true);
ajax_quickView();
$(this).tooltip
({
/* tooltip configuration goes here */
tip: "#quickViewWindow",
position: "right",
offset: [0, -300],
effect: 'slide'
});
$(this).trigger('mouseover');
}
});
我尝试了以下功能从链接中获取ID(在上例中,1313):
function ajax_quickView(){
var pageNum = $("a.quickView").attr("href").match(/venue/([0-9]+)/).htm[1];
$("#quickViewWindow").load("/quick-view/", function(){})
}
但是我认为这是它倒下的地方,我认为我的正则表达可能是罪魁祸首......
一旦我得到var pageNum,我认为我可以将它传递到.load中:
$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){})
非常感谢
答案 0 :(得分:5)
首先,您没有正确转义正则表达式中的/
字符:
/venue/([0-9]+)/
// should be
/venue\/([0-9]+)/
其次,你没有正确结束你的正则表达式,整行有一些语法错误:
.match(/venue/([0-9]+)/).htm[1];
// should be
.match(/venue\/([0-9]+).htm/)[1];
答案 1 :(得分:0)
我不知道工具提示插件,但我认为你的方法有点......麻烦。我使用了jQuery工具及其叠加层,它允许注册一个将被传递给事件源的回调,在这种情况下,这将是hrefd图像,您可以只询问实际的URL。可能不是你正在寻找的答案,但我只是觉得你做的比这更复杂。