如何在JQuery中使用id区分多个锚标签上的onclick fun

时间:2011-09-28 09:21:34

标签: javascript jquery jquery-ui

您能否建议我如何处理点击功能的多个锚标记

我的代码就像:

<a id="test1" href="#" >test1</a>
<a id="test2" href="#" >test2</a>

我的jQuery功能是:

$('a').click(function(event) {
    alert('click');
});

jQuery点击功能适用于所有锚标记,但我想根据 id属性来区分jQuery功能。

7 个答案:

答案 0 :(得分:5)

查看此处的id并创建if语句或开关(建议切换):

$('a').click(function(event) {
    switch(this.id) {
        case 'test1':
            alert('link with an id of test1!');
            event.preventDefault();
            break;
        case 'test2':
            alert('link with an id of test2!');
            event.preventDefault();
            break;
        default:
            //Default behavior
    }
});

答案 1 :(得分:2)

您想根据ID做些不同的事情吗?

您可以执行类似

的操作
$('a').click(function(e){
    var id = $(this).attr('id');
    // switch depending on id
});

OR

$('#test1').click(function(e){ alert("you clicked test1"); });
$('#test2').click(function(e){ alert("you clicked test2"); });

但如果你要添加多个来做同样的事情,那就不会很好。

答案 2 :(得分:1)

您可以获取id属性。

$('a').click(function(event) {
    alert($(this).attr('id')+' clicked!');
});

答案 3 :(得分:1)

你可以阅读元素的id,并根据id创建你的函数

$('a').click(function(event) {
    if ($(this).attr("id") == 'test1')
    {
        alert('Test 1 was clicked');
    }
    else if ($(this).attr("id") == 'test2')
    {
        alert('Test 2 was clicked');
    }
});

答案 4 :(得分:1)

如果要基于id:

绑定到元素
$('#test1').click(function(event) {
   alert('test1 clicked');
});

答案 5 :(得分:1)

这是我的方法

$('a').click(
    function()
    {
        switch($(this).attr('id'))
        {
            case 'test1':
                // Do some work
                break;
            case 'test2':
                // Do some work
                break;
        }
    }
);

答案 6 :(得分:0)

您可以按照其他答案中的建议查看ID,但您也可以使用自定义数据属性(html5)在每个标记上附加数据属性,或使用href,稍后可以从onclick事件(html5)访问

样品:

<a id="test1" data-my-custom-data="Insert" data-row-id="24" href="#" >test1</a>
<a id="test2" href="Insert" >test2</a>

$("a").click(function(event)
{
    alert($(this).attr("data-my-custom-data"));
    alert($(this).attr("data-row-id"));
    alert($(this).attr("href"));

    event.preventDefault(); // To avoid browsing to href...
});