【问题标题】:How to specify dynamic element in javascript on() function?如何在 javascript on() 函数中指定动态元素?
【发布时间】:2013-07-05 14:57:05
【问题描述】:

我大致有这样的结构:

<div class='container'>
 <div class='element' data-id='1'></div>
 <div class='element' data-id='2'></div>
 <div class='element' data-id='2'></div>
</div>

.elements' 是动态呈现的。

所以我为这些元素编写了处理程序:

jQuery('.container').on('click', '.element', function () { //code })

但是我需要对被点击的元素做一些事情。

如何获得点击元素?

【问题讨论】:

标签: javascript jquery dynamic


【解决方案1】:

点击的元素将在您的事件处理函数中为this

jQuery('.container').on('click', '.element', function () { 
    // use "this" or "jQuery(this)", depending on your needs
})

请注意,this 将指向一个 DOM 元素,在您的情况下为 &lt;div&gt;

【讨论】:

  • 非常感谢!如此简单明了的答案,对我很有帮助!也感谢您编辑代码样式。
【解决方案2】:

你必须对事件的目标做点什么。

类似:

jQuery('.container').on('click', '.element', function (event) { 
    var clickedelement = $(event.target);
    //code 
})

【讨论】:

  • 抱歉,重新阅读 OP 问题,我认为这里有效 event.target 是 OP 正在寻找的
【解决方案3】:

HTML:

<div class='container'>
 <div class='element' data-id='1'/>
 <div class='element' data-id='2'/>
 <div class='element' data-id='2'/>
</div>

Javascript:

$(function () {
  $('.container').on('click', '.element', function () {
    $clickedElement = $(this);
    $data-id = $clickedElement.attr('data-id');
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-01
    • 2014-07-29
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    相关资源
    最近更新 更多