我正在尝试将多个标签(或任何其他标签)绑定到同一个处理程序。我希望处理程序能够发现单击了哪个标记并相应地运行。
示例:
<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部分。甚至可以这样做吗?
答案 0 :(得分:3)
使用jQuery $(this)
:
$(".menu").click(function(){
$(this).html('Item1');
}
这是与jQuery: What's the difference between '$(this)' and 'this'?
的区别答案 1 :(得分: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');
}
}