让我说我做这样的蠢事:
<div class="my_class">fun wee!!</div>
<span class="my_class"><b class="my_class">Title</b></span>
<p class="my_class">Client</p>
<Script>
$('.my_class').click(function() {
alert('You clicked a ??????? Tag!!');
});
</script>
我使用相同的选择器选择了许多不同的标签。我如何弄清楚选择了哪个标签?
似乎很简单,但我还没有找到答案...
答案 0 :(得分:4)
在jQuery事件处理程序中,“this”设置为触发事件的DOM节点。所以你想要:
$('.my_class').click(function() {
alert('You clicked a ' + this.nodeName + ' Tag!!');
});
W3C DOM规范有更多信息:http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247
答案 1 :(得分:0)
如果你想对具有相同类的各种HTML标签做一些不同的事情,你几乎总是更好地使用选择器中的标签而只获得你想要的那些而不是通过类获取并使用某种逻辑(不按标签选择)对它们进行排序。
$('div.my_class').click( function() { alert("hey, I'm a div"); } );
我想如果您只想提醒标签名称,则会出现异常。