如何发现触发事件的 DOM 元素并相应地执行
How do I discover the DOM element that fired the event and behave accordingly
我正在尝试将多个<a>
标签(或任何其他标签)绑定到同一个处理程序。我希望处理程序发现单击了哪个<a>
标签并采取相应的行为。
例:
<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部分。甚至有可能做到这一点吗?
使用 jQuery $(this)
:
$(".menu").click(function(){
$(this).html('Item1');
}
以下是与jQuery的区别:"$(this)"和"this"有什么区别?
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');
}
}
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何在DOM元素上按类型构建此函数
- DOM元素和angular元素之间的主要区别是什么
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 通过AJAX侦听向DOM添加某些元素
- 如何在使用Ractive.extend()时引用DOM元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- Selenium无法在浏览器DOM中定位元素
- 如何'剪切'DOM元素并将其显示在其他位置
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 从dom中删除任何元素后,Touchmove事件停止触发
- d3在数据更新时错误地附加了dom元素
- 访问VueJS中的DOM元素
- 在Meteor中如何查找DOM元素(渲染后)
- 找到元素DOM的根节点(阴影或光)的最佳方法是什么?
- 在querySelector:如何获得第一个和最后一个元素?dom中使用的遍历顺序