jquery - 使用 jQuery 从 href 获取值

标签 jquery jquery-selectors

我想知道是否有人可以帮助解决我遇到的 jQuery 问题。

当鼠标悬停在 hrefed 图像上时,我使用 Jquery 工具库中的工具提示创建一个弹出窗口,我想用它来自定义调用以更改 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(){})

非常感谢

最佳答案

首先,您没有正确转义正则表达式中的 / 字符:

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

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

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

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

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

关于jquery - 使用 jQuery 从 href 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2730484/

相关文章:

javascript - 如何使用 jquery $(this) 提供 js 函数

javascript - 选择变量/选择器和 $(this)

php - CakePHP使用ajax删除

javascript - jQuery:try catch {调用函数}不起作用?

jquery - 如何删除特定选择的统一功能?

javascript - jquery 按名称属性选择元素

jquery - 如何访问jquery创建的ul元素

javascript - 用于匹配有限深度嵌套字符串的正则表达式——缓慢、崩溃的行为

javascript - HTML动态弹出框

javascript - jQuery 选择并包装 textNode