如何在JS中获得onclick值

时间:2011-06-07 11:48:05

标签: javascript jquery

让我们说,我在我的网站上有这样的东西:

<a href="" onclick="lol(222)">
<a href="" onclick="lol(223)">
<a href="" onclick="lol(212)">
<a href="" onclick="lol(122)">

然后我想解析它以获取match变量lol()

中的所有值

像这样:

match[0] = 222;
match[1] = 223;
.....

3 个答案:

答案 0 :(得分:6)

最常见的浏览器方法是使用getAttributeNode,因为jQuery的attrhave problems with IE7 and older

var match = $("a[onclick]").map(function () {
    var onclick = this.getAttributeNode("onclick").nodeValue;
    return +onclick.slice(4, -1); 
}).get();
  

工作演示:http://jsfiddle.net/AndyE/Z2G2Z/

答案 1 :(得分:1)

你的问题不明确,但我认为这可以解决问题:

<a href="" onclick="lol(this,222)">
<a href="" onclick="lol(this,223)">
<a href="" onclick="lol(this,212)">
<a href="" onclick="lol(this,122)">
<script type="text/javascript">
function lol(sender,value) {
    //sender is clicked item
}
</script>

答案 2 :(得分:1)

一种方法是正则表达式:http://jsfiddle.net/wtwzd/1/

var matches = [];
$('a').each(function() {
    matches.push(
        /lol\(([\d]+)\)/g
        .exec(
             $(this).attr('onclick')
        )[1]
    );
});
alert(matches);