代码之家  ›  专栏  ›  技术社区  ›  SeanDowney

jquery中的“我选择了什么标记?”

  •  1
  • SeanDowney  · 技术社区  · 16 年前

    比方说我做了这样愚蠢的事:

    <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>
    

    我用同一个选择器选择了很多不同的标签。如何确定选择了哪个标记?

    看起来很简单,但我还没有找到答案。。。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Matt    16 年前

    在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

        2
  •  0
  •   tvanfosson    16 年前

    如果您想对具有相同类的各种HTML标记执行不同的操作,那么在选择器中使用标记并仅获取所需的标记几乎总是比按类获取所有标记并使用某种逻辑(不包括按标记选择)对其进行排序更好。

    $('div.my_class').click( function() { alert("hey, I'm a div"); } );