Javascript 用于显示/列出动态元素的jquery forEach函数
我已经创建了3个带有class属性的动态按钮,希望在单击其中一个按钮时列出它们。只显示一个,而不是全部三个Javascript 用于显示/列出动态元素的jquery forEach函数,javascript,jquery,Javascript,Jquery,我已经创建了3个带有class属性的动态按钮,希望在单击其中一个按钮时列出它们。只显示一个,而不是全部三个 <script> var hyperlink; $(function() { var y = 2; for(var i = 0; i <= 2; i++ ) { drawRow( i, y ); } }); function drawRow( x, y ) { if(x == 0) row = $
<script>
var hyperlink;
$(function() {
var y = 2;
for(var i = 0; i <= 2; i++ ) {
drawRow( i, y );
}
});
function drawRow( x, y ) {
if(x == 0)
row = $("<tr />")
else {
var btnName = "btn" + x;
console.log("ln62 btnName: " + btnName);
hyperlink = document.createElement("button");
hyperlink.setAttribute('id', btnName);
hyperlink.setAttribute('class', 'btnCL'); // class set for button
hyperlink.innerHTML = x;
$("#DataTable").append(row);
row.append($("<td></td>").append(hyperlink));
var btnName2 = "#btn" + x;
}
}
$(document).on("click", '.btnCL', function() {
console.log("inside doc.on ln73");
//console.log("hyperlink: " + hyperlink.getAttribute("id"));
$(hyperlink).each(function( i ) {
console.log("ln76 " + i + ": " + hyperlink.getAttribute("id"));
});
});
</script>
结果:
ln62 BTN名称:btn1
ln62 BTN名称:btn2
ln62 BTN名称:btn3
ln73内部文件
ln76 0:btn3//仅列出一个??s/b 3
任何帮助都将不胜感激。这是因为hyperlink是一个变量而不是数组;将始终使用上次创建的按钮更新超链接变量
您可以使用事件对象并获取目标,而不是使用每个事件
var超链接;
$function{
变量y=2;
对于var i=0;i来说,主要问题是循环的每一次迭代都会向变量hyperlink重新分配一个新值 您真正需要做的就是在类集合上循环,而根本不需要全局变量
$(document).on("click", '.btnCL', function() {
// current button is `this`
console.log('Current id:', this.id);
// loop over the class instead to see them all
$('.btnCL').each(function( i, el ) {
console.log("ln76 " + i + ": " + el.id); // or this.id
});
});
检查本教程:。我很想帮助您,但您的代码有很多错误。请放置一个工作代码。e.target.getAttributeid可以简化为this.id