在jQuery中使用bind()时如何获取div的ID?

时间:2012-05-14 18:36:09

标签: javascript jquery

假设我有以下div

<div id="123" class="abc">Foobar</div>

我知道我可以执行此操作,以便在div被鼠标悬停时触发功能:

$(".abc").bind({
    mouseenter : SomeFunction(id)
});

有了这个,在SomeFunction运行之前,我希望能够提取出这个div的id,即“123”,并将其作为参数传递给{{1}它要处理。我能这样做吗?

6 个答案:

答案 0 :(得分:4)

$('.abc').bind('mouseenter', function() {
    SomeFunction($(this).attr('id'));
});

或者,如果您真的想要事件映射语法:

$('.abc').bind({
    mouseenter: function() {
        SomeFunction($(this).attr('id'));
    }
});

答案 1 :(得分:2)

$(".abc").on({
   mouseenter : function() {
      var id = this.id;
       //or just
      SomeFunction(this.id);
   }
});
  

从jQuery 1.7开始,.on()方法是首选方法   将事件处理程序附加到文档。对于早期版本,   .bind()方法用于直接将事件处理程序附加到   元件。

答案 2 :(得分:2)

$(".abc").bind('mouseenter', function() {
  var id = this.id;
})

根据你的问题

$(".abc").bind({

 mouseenter : function() {
                SomeFunction(this.id)
              }

});

答案 3 :(得分:1)

$(".abc").bind('mouseenter', function() {
    var id = $(this).attr('id');
});

答案 4 :(得分:1)

$('.abc').bind('mouseenter', function() {
    SomeFunction(this.id);
});

答案 5 :(得分:1)

您无需将其传递给该函数。有一种简单的方法。

$(".abc").bind({
    mouseenter : SomeFunction /* This might be a new way for you. 
                                 But its very useful sometimes */
});

function SomeFunction()
{
    var id = $(this).attr("id"); /* You can access $(this) in this function. 
                                    Here the $(this) will refer to the bound 
                                    element (i.e. of class ".abc") 
                                 */
}

简单!