按钮onclick显示id和值未定义
Button onclick shows id and value undefined
我动态地将按钮添加到我的页面,然后onclick
我想获得id
或value
,但它显示undefined
。下面是我的代码:
for(i=1; i<=jj; i++){
$("#buttonPanel").append('<input type="button" class="btn btn-default" style="margin-top:20px; width: 40px;" id="'+i+'" value="'+i+'" onclick="btnpanel()"/>'+'      ');
}
下面是事件监听器的jQuery代码:
function btnpanel(){
alert($(this).attr("id"));
alert($(this).attr("value"));
}
我是这样做的:
for (i = 1; i <= jj; i++) {
$("#buttonPanel").append('<input type="button" class="btn btn-default" style="margin-top:20px; width: 40px;" id="' + i + '" value="' + i + '" />' + '      ');
}
$("#buttonPanel").on("click", ".btn", function () {
alert($(this).attr("id"));
alert($(this).attr("value"));
});
这里是JSFiddle演示
如果你想要一个没有jQuery的解决方案,并希望使用onclick处理程序,
将onclick="btnpanel()"
中的this
传递为onclick="btnpanel(this)"
。
你的btnpanel函数看起来像,
function btnpanel(obj){
alert(obj.id);
alert(obj.value);
}
将事件委托给容器元素并去掉onclick
属性:
$(function(){
$("#buttonPanel").on('click', '.btn', function(){
alert(this.id);
alert(this.value);
});
});
作为旁注,ID不应该以数字开头,即使HTML5规范允许这样做,但仍然不是所有浏览器或CSS上的DOM节点方法都支持。
相关文章:
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Angular2-TypeError:无法读取属性'Id'(Typescript)中未定义的
- 快速会话 无法设置未定义的属性“id”
- JS在隐藏未定义的值后仅从数组中返回第一个id的值
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- 在onChange事件中未定义id
- 未捕获的引用错误: 未定义导出 ID
- Angular JS TypeError:无法读取路由上未定义的属性“id”
- 获取 Firebase 推送对象的 ID 未定义
- 当我尝试获取span的父ID时,我得到了未定义的值
- jQuery 可放置元素 id 未定义
- 数据 ID 一直未定义返回
- 当 ID 从 PHP 变量传递时,JavaScript 中的未定义 ID
- DatePicker:无法设置属性'currentDay'当有多个数组id时,为未定义
- querySelector在尝试访问作为元素ID的数值时返回未定义的字符串
- jQuery中显示id未定义时出错
- 无法获取属性'id'的未定义引用或null引用
- FB ID返回为未定义
- getElementByClassName返回'未定义',但它对Id有效
- 未定义ID/No操作Jquery