使用Jquery将点击链接的值传递给处理程序.On()

时间:2013-06-11 05:54:18

标签: jquery dynamic

我试图获得点击<a>的价值,因为我的<a>是由ajax动态插入的,所以我被迫使用.on() 并尝试使用.on()作为建议来完成我的工作但是却很难使用简单的示例并且无法传递我点击的<a>的参数。

所需的输出

click art -> alert with hello 5
click entertainment -> alert with hello 5

当前代码

function myHandler(event) {
alert(event.data.foo+event.data.value);
}

$(document).on("click","a.suggest",{foo: "hello "}, myHandler);

//我试过把$ this但是没有用,并返回整页的内容而不是点击的

这是我动态生成的html代码

<ul class="stags_btn" >
<li><a class="suggest"value="5">art</a></li>
<li><a class="suggest"value="3">entertainment</a></li>
<li><a class="suggest"value="23">supplier</a></li>
<li><a class="suggest"value="81">flyer</a></li>
<li><a class="suggest"value="32">company</a></li>
<li><a class="suggest"value="2">digital</a></li>
</ul>

这是我的findle我正在使用最新的jquery(1.10.1) http://jsfiddle.net/SvJQu/1/

2 个答案:

答案 0 :(得分:2)

你几乎就在那里,你可以在$(this)

中使用myHandler()
function myHandler(event) {
    alert(event.data.foo+$(this).attr('value'));
}

$(document).on("click","a.suggest",{foo: "hello"}, myHandler);

但只是一个旁注:value作为标准属性不支持您尝试使用的<a>,它将被视为自定义属性,自定义属性通常为前缀与data-

请看这个小提琴:Fiddle!

答案 1 :(得分:1)

<{1}}代码不支持

FOA value属性,您可以使用<a>  而不是价值。

您可以使用alt

获取alt值

attr('alt')将返回this.text

之间的任何文字

HTML

<a>...</a>

的jQuery

<ul class="stags_btn" >
<li><a class="suggest" alt="5" >art</a></li>
<li><a class="suggest" alt="3">entertainment</a></li>
<li><a class="suggest" alt="23">supplier</a></li>
<li><a class="suggest" alt="81">flyer</a></li>
<li><a class="suggest" alt="32">company</a></li> 
<li><a class="suggest" alt="2">digital</a></li>
</ul>

working DEMO