javascript - 我们可以使用 javascript 或 jquery 通过循环将属性 'id' 设置为不同的 'buttons' 吗?

标签 javascript jquery

我想实现以下目标:

假设我的页面上有十个按钮,它们都是动态生成的。我已经为所有这十个按钮添加了 ID,假设 id 为 1,2,3....10。使用以下代码。

function createButton(id){
       button.setAttribute("name", id);
}

现在我想给所有这些按钮添加'onlick'事件,像这样

function abc()
      $(document).on('click','#1', function(){
      callSomeFunc();
});

这样我将不得不使用不同的 ID 将上面的代码写 10 次。我尝试在函数上使用循环作为

function abc()
   for(var i=1, i<=10, i++){
          $(document).on('click',id, function(){
          callSomeFunc(id);
   });
}

没用!我怎样才能做到这一点?

最佳答案

无需将 click 事件包装在函数中。您可以简单地让它监听点击事件。由于每个 id 都调用相同的函数,因此您可以通过类名而不是特定的 ID 来概括它:

 $(document).on('click', 'div', function() {
   callSomeFunc();
 });

Codepen Example

要获取 id 值,您可以使用 this.id:

 $(document).on('click', 'div', function() {
    callSomeFunc(this.id)
 });

ID Example

关于javascript - 我们可以使用 javascript 或 jquery 通过循环将属性 'id' 设置为不同的 'buttons' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36968409/

相关文章:

javascript - D3 工具提示 - 将鼠标保持在带有 html 元素的工具提示上

jquery - 将插件的方法应用于动态创建的元素?

javascript - 文件输入未正确更新状态 React?

javascript - 在 jquery 元素上使用 Lodash 集合函数

javascript 缺少 ) 参数

javascript - jQuery 将键值对添加到空对象

javascript - 如何显示弹出窗口

javascript - 将搜索词从表单添加到搜索 URL

javascript - 开 Jest : How to test function that returns a function

javascript - 如何对异步 Redux 操作进行单元测试以模拟 ajax 响应