我想知道是否有人可以帮助解决我遇到的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