2010-07-10 64 views
0

我在页面上有以下链接(按钮),而不是它转到链接来调用函数,而是传递单击的各个按钮的url通过该函数的变量。 页面上可能有3个以上的链接(按钮),但它们都需要调用相同的功能,但要通过单击按钮的相应href阀门。 我的假设是我需要做一些绑定,但不知道如何在jQuery中做到这一点。任何帮助,将不胜感激!!!绑定单击事件并将href属性传递给函数

编辑:不幸的是没有ID的任何锚,但我可以说的目标锚的唯一途径是href属性的开头将始终以“/ShoppingCart.asp?ProductCode=”

启动
<td width="36%" align="right"> 
<a href="/ShoppingCart.asp?ProductCode=884280"> 
<IMG SRC="/v/vspfiles/templates/100/images/buttons/btn_addtocart_small.gif" ALIGN=absmiddle BORDER=0></A> 
</td> 

<td width="36%" align="right"> 
<a href="/ShoppingCart.asp?ProductCode=9857%2D116%2D003"> 
<IMG SRC="/v/vspfiles/templates/100/images/buttons/btn_addtocart_small.gif" ALIGN=absmiddle BORDER=0></A> 
</td> 


<td width="36%" align="right"> 
<a href="/ShoppingCart.asp?ProductCode=70367301P"> 
<IMG SRC="/v/vspfiles/templates/100/images/buttons/btn_addtocart_small.gif" ALIGN=absmiddle BORDER=0></A> 
</td> 

回答

2

你可以很容易地用jQuery做到这一点。

让我们创建一个示例函数:

function someFunction(href) { 
    //do something with url 
    alert(href); 
} 

然后在jQuery的,你可以很容易地通过href属性的功能:

要获得所有元素开始与前缀只需使用此代码即可。

$("a[href^='/ShoppingCart.asp?ProductCode']").click(function() { 
    var href = $(this).attr('href'); 
    someFunction(href); 
    return false; 
}); 

返回false将阻止链接转到该页面。

+0

如果我在页面上有其他href,我不需要像$(“a [href^='/ ShoppingCart.asp?ProductCode =']”)目标,点击(功能() ,不会该功能需要功能someFunction(href){ 而不是函数someFunction(url){ – user357034 2010-07-10 02:11:47

+1

检查出我的编辑 – Marko 2010-07-10 02:17:29

+0

而在自定义函数中,你可以任意指定参数的名称,只要 function blah(foo,bar){ alert(foo + bar); } – Marko 2010-07-10 02:20:45