代码应该打印所选 div 的 id,但它没有。我没有发现错误。感谢帮助。
HTML
<body>
<div id="form_area">
<div>
<button onclick="return add_row();" style="width:100%;">Add Row</button>
</div>
</div>
</body>
JavaScript
$(document).ready(function() {
$('#form_area div').click(function(e) {
console.log($(this).attr('id'));
});
});
function add_row() {
var random_id = Math.floor((Math.random() * 1000) + 1);
$('#form_area').prepend('<div id="' + random_id + '" class="form_row"></div>');
}
好吧,我想我明白你错过了什么。您正在尝试记录ID
使用添加行后add_row
功能,
.form_row
动态添加到 DOM 中。所以执行时$('.form_row').click(
,没有.form_row
绑定处理程序。下面的使用方法.on
方法将处理程序绑定到#form_area
并仅在单击事件来自时执行处理程序.form_row
$('#form_area').on('click', '.form_row', function () {
console.log(this.id);
});
$('#form_area div')
选择div
在 div 内#form_area
其中没有ID
下面 html 中的注释显示了选择了哪个 div,
<div id="form_area">
<div> <!-- $('#form_area div') selects this div-->
<button onclick="return add_row();" style="width:100%;">Add Row</button>
</div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)