我想知道是否有人可以幫助解決我遇到的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(){})
非常感謝
謝謝,改變了。但它似乎只是選擇頁面上的第一個鏈接,而不管我有鼠標懸停。我需要添加任何東西來使用鼠標懸停鏈接嗎? – 2010-04-28 15:01:05
@bateman_ap:這是因爲你在jQuery函數中使用了一個選擇器,它將返回一個元素列表並獲取列表中第一個元素的'href'屬性。在你的'mouseover'處理程序中,你應該傳遞對'this'的引用,例如'ajax_quickView(this)',並使用該引用而不是選擇器。 – 2010-04-28 15:06:19
對不起,最後一個問題。我用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