JavaScript/jQuery如何操作。是否正确单击函数?

JavaScript/jQuery如何操作。是否正确单击函数?,javascript,jquery,Javascript,Jquery,我选择了一些基于表单输入动态生成的按钮: $.each(fields, function (i, field) { var field_id = $('[name=' + field.name + ']').closest("fieldset").attr('id'); $("#results").append('<button id="jumpToThisStep" data-id="'+field_id.replace('q','')+'">'+field.value+

我选择了一些基于表单输入动态生成的按钮:

$.each(fields, function (i, field) {
  var field_id = $('[name=' + field.name + ']').closest("fieldset").attr('id');
  $("#results").append('<button id="jumpToThisStep" data-id="'+field_id.replace('q','')+'">'+field.value+ ' ' +'</button>');
});
HTML:

。。。
... 
... 
检查元素后,它们都具有适当的
数据id
绑定。但唯一开火的是第一个。是什么阻止其他人执行其
。单击

您需要在此处使用,因为您的按钮是动态添加的,因此事件委派将帮助您将单击事件附加到这些新创建的按钮:

$('#results').on('click', '.jumpToThisStep', function() {
    var jump_to = $(this).data('id');
    showStep(jump_to);
});
另外,
id
是唯一的,您需要为按钮使用类。

您需要在此处使用,因为您的按钮是动态添加的,因此事件委派将帮助您将单击事件附加到这些新创建的按钮:

$('#results').on('click', '.jumpToThisStep', function() {
    var jump_to = $(this).data('id');
    showStep(jump_to);
});

而且
id
是唯一的,您需要为按钮使用类。

HTML DOM
id
必须是唯一的。使用
class
代替

<button class="jumpToThisStep" data-id="0"> ... </button>
<button class="jumpToThisStep" data-id="1"> ... </button>
<button class="jumpToThisStep" data-id="2"> ... </button>

HTML DOM
id
必须是唯一的。使用
class
代替

<button class="jumpToThisStep" data-id="0"> ... </button>
<button class="jumpToThisStep" data-id="1"> ... </button>
<button class="jumpToThisStep" data-id="2"> ... </button>

请分享详情。。。为什么?别光喂我,请教我怎么钓鱼。(+1感谢这项工作)@feed\u me\u code他只是在遵从你的名字。@0x499602D2,我在写评论时。。我想到了我的名字和讽刺。。。哦,真是讽刺。请分享细节。。。为什么?别光喂我,请教我怎么钓鱼。(+1感谢这项工作)@feed\u me\u code他只是在遵从你的名字。@0x499602D2,我在写评论时。。我想到了我的名字和讽刺。。。哦,真是讽刺。你不应该在每个元素上跳到这一步
id
的值。任何元素的
id
属性都应该是整个页面中所有其他元素
id
s的唯一值。@ajp15243我也知道。。我犯了这么愚蠢的错误。只需显示13个小时的代码密集启动后发生的情况。您不应跳到此步骤
每个元素上的
id
值。任何元素的
id
属性都应该是整个页面中所有其他元素
id
s的唯一值。@ajp15243我也知道。。我犯了这么愚蠢的错误。只是为了展示在13个小时的集中主演代码后会发生什么。
$('#results').on('click', '.jumpToThisStep',function() {
    var jump_to = $(this).data('id');
    showStep(jump_to);
});