使用jQuery从href获取值

bat*_*_ap 3 jquery jquery-selectors

我想知道是否有人可以帮助解决我遇到的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>
Run Code Online (Sandbox Code Playgroud)

我用来触发提示的代码是:

$(".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'); 
        }  
    });
Run Code Online (Sandbox Code Playgroud)

我尝试了以下函数从链接中获取ID(在上面的例子中,1313):

function ajax_quickView(){
        var pageNum = $("a.quickView").attr("href").match(/venue/([0-9]+)/).htm[1];
        $("#quickViewWindow").load("/quick-view/", function(){}) 
    }
Run Code Online (Sandbox Code Playgroud)

但是我认为这是它倒下的地方,我认为我的正则表达可能是罪魁祸首......

一旦我得到var pageNum,我认为我可以将它传递到.load中:

$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){})
Run Code Online (Sandbox Code Playgroud)

非常感谢

小智 5

首先,你没有正确地转义/你的正则表达式中的角色:

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

// should be
/venue\/([0-9]+)/
Run Code Online (Sandbox Code Playgroud)

其次,你没有正确结束你的正则表达式,整行有一些语法错误:

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

// should be
.match(/venue\/([0-9]+).htm/)[1]; 
Run Code Online (Sandbox Code Playgroud)