2010-04-28 68 views
3

我想知道是否有人可以帮助解决我遇到的jQuery问题。使用jQuery从href获取价值

我正在使用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页次我相信我可以把它传递到.load为:

$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){}) 

非常感谢

回答

5

首先,你有没有正确地逃过您正则表达式的/字符:

/venue/([0-9]+)/ 

// should be 
/venue\/([0-9]+)/ 

其次,你有没有正确结束您正则表达式,整条生产线有几个语法错误:

.match(/venue/([0-9]+)/).htm[1]; 

// should be 
.match(/venue\/([0-9]+).htm/)[1]; 
+0

谢谢,改变了。但它似乎只是选择页面上的第一个链接,而不管我有鼠标悬停。我需要添加任何东西来使用鼠标悬停链接吗? – 2010-04-28 15:01:05

+0

@bateman_ap:这是因为你在jQuery函数中使用了一个选择器,它将返回一个元素列表并获取列表中第一个元素的'href'属性。在你的'mouseover'处理程序中,你应该传递对'this'的引用,例如'ajax_quickView(this)',并使用该引用而不是选择器。 – 2010-04-28 15:06:19

+0

对不起,最后一个问题。我用ajax_quickView(this);在我的代码中,如果我使用alert(this);那么它看起来不错,它显示正确的URL。然而,在我的功能中,我正在使用功能ajax_quickView(pageUrl)var pageNum = pageUrl.match(/ venue \ /([0-9] +).htm /)[1];加载(“/ quick-view /”,{uid:pageNum},function(){}) } 设定这是错误的,因为我得到:pageUrl.match不是一个函数 – 2010-04-28 15:24:38

0

我不知道工具提示插件,但我认为你的方法有点...繁琐。我使用jQuery工具和它们的叠加层,并且允许注册一个将交给事件源的回调函数,在这种情况下,这将是您可以请求实际URL的hrefd图像。可能不是你正在寻找的答案,但我只是觉得你正在让这个过程变得更加复杂。

+0

我确实看过覆盖图,我实际上在我的网站的其他地方使用它。然而,它的外观和感觉看起来有点麻烦,原谅我如果错了,我在定位链接方面遇到了困难 – 2010-04-28 14:50:58

+0

哦,我的代码很可怕,我不能说我是个高手所有这些云雀,更多的是通过自己做和问自己! – 2010-04-28 14:52:04