如何在jQuery的.on()方法中动态更新按钮的ID选择器

How to dynamically update ID selector of a button in jQuery's .on() method?

本文关键字:更新 动态 按钮 选择器 ID 方法 jQuery on      更新时间:2023-09-26

我有以下一段代码

    $('body').on('click', '#break-' + i, function(event) {
        event.preventDefault();
        var NowBreak = moment().format("HH:mm:ss");
        console.log(NowBreak);
    });

我正在尝试使用一个 ID 来定位一个元素,该元素是通过 jQuery 的 .append() 方法在代码的另一部分动态生成的。因此,我基本上附加了一个带有 ID 的按钮 break+i 其中 i 是一个包含一些数字的变量,但是当我尝试像上面的代码中那样访问它时,它不起作用。为什么它不起作用,我该如何解决它?我想我不能使用表达式作为.on()方法的属性。谢谢。

你可以试试这段代码

 $('body').on('click', 'div[id^="break-"]', function(event) {
    event.preventDefault();
    var NowBreak = moment().format("HH:mm:ss");
    console.log(NowBreak);
});

您可以使用另一个 jQuery 选择器将函数直接设置为目标元素:http://api.jquery.com/attribute-starts-with-selector/

$("[id^='break-']").click(function(event){
    event.preventDefault();
    var NowBreak = moment().format("HH:mm:ss");
    console.log(NowBreak);
});