1

我正在尝试将多个标签(或任何其他标签)绑定到同一个处理程序。我希望处理程序发现单击了哪个标签并做出相应的行为。

例子:

<a class="menu">Item1<a>
<a class="menu">Item2<a>
<a class="menu">Item3<a>

$(".menu").click(function(){
    //...Find out which a was clicked...
    ($(a .menu).html()=='Item1)

}

这样做的最佳方法是什么?我希望它的行为类似于 Apache 的 VirtualHosts 部分。甚至有可能做到这一点吗?

4

2 回答 2

3

使用 jQuery $(this)

$(".menu").click(function(){
    $(this).html('Item1');
}

这是与jQuery 的区别:'$(this)' 和 'this' 之间有什么区别?

于 2013-01-30T21:47:55.740 回答
2

关键字将this是触发事件的元素:

$(".menu").click(function(){
    var clickedItem = this;
    alert(clickedItem.innerHTML);
}

如果您愿意,可以将其包装在 jQuery 对象中:

$(".menu").click(function(){
    var clickedItem = $(this);
    if (clickedItem.text() === 'Item1') {
        alert('It was item 1');
    }
}
于 2013-01-30T21:47:44.740 回答