2010-04-28 189 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