<HTML>
<HEAD>
<script>
function chk(val){
alert(val);
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){
var btn = document.createElement("button");
btn.value = "click" + i;
btn.onclick = function(){
chk(i);
}
doms.appendChild(btn);
}
}
</script>
</HEAD> <BODY>
<div id = "test"></div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
如题,我想要的结果是alert出来,0,1,2,3,4,结果不论按哪个按钮都是5...
<HEAD>
<script>
function chk(val){
alert(val);
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){
var btn = document.createElement("button");
btn.value = "click" + i;
btn.onclick = function(){
chk(i);
}
doms.appendChild(btn);
}
}
</script>
</HEAD> <BODY>
<div id = "test"></div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
如题,我想要的结果是alert出来,0,1,2,3,4,结果不论按哪个按钮都是5...
解决方案 »
- 关于javascript的typeof obj === "undefined"
- JS 勾选框,判断按shift多选时,性能问题???
- 如何利用js的事件处理动态显示DIV,急,急。。。
- 求解救
- ASP.NET中的RadioButtonList组件Name属性问题
- 用div.innerHTML 在页面上动态刷加载图片 显示不正常的问题
- 下载附件如何指定默认的文件名
- [求助]下拉表单控制层显示的问题....
- [共享]很久没来了,更新了点东东。有兴趣的看看 ====>>> 二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式
- 如何通过 JavaScript 技术改变某个标识的 Class 属性?
- 一个Jacascript操作DOM的问题
- jqgrid 里面的添加方法问题
<HTML>
<HEAD>
<script>
function chk(val){
alert(val);
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){
(function(i) {
var btn = document.createElement("button");
btn.value = "click" + i;
btn.onclick = function(){
chk(i);
}
doms.appendChild(btn);
})(i);
}
}
</script>
</HEAD> <BODY>
<div id = "test"> </div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
alert(val);
} function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i++){
var btn = document.createElement("input");
btn.type="button";
btn.id="click" + i;
btn.value = "click" + i;
btn.onclick = function(){
chk(this.id.replace("click",""));
}
doms.appendChild(btn);
}
}
</script>
<HTML>
<HEAD>
<script>
function chk(val){
alert(val);
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){ (function(i){
var btn = document.createElement("button");
btn.value = "click" + i;
btn.onclick = function(){
chk(i);
}
doms.appendChild(btn);
})(i)
}
}
</script>
</HEAD> <BODY>
<div id = "test"> </div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
<HTML>
<HEAD>
<script>
function chk(val){
alert(val);
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){
var btn = document.createElement("button");
btn.value = "click" + i;
btn.onclick = (function(i){
var c=i
return function(){
chk(i);
}
})(i)
doms.appendChild(btn);
}
}
</script>
</HEAD> <BODY>
<div id = "test"> </div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
<HTML>
<HEAD>
<script>
function chk(val){
alert(val);
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){
var btn = document.createElement("button");
btn._index = "click" + i;
btn.value = "click" + i;
btn.onclick = function(){
chk(this._index);
}
doms.appendChild(btn);
}
}
</script>
</HEAD> <BODY>
<div id = "test"> </div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
<HTML>
<HEAD>
<script>
function chk(val){
alert(val.replace('click',''));
}
function set(){
var doms = document.getElementById("test");
for(var i = 0; i < 5; i ++){
var btn = document.createElement("button");
btn.value = "click" + i;
btn.onclick = function(){
chk(this.value);
}
doms.appendChild(btn);
}
}
</script>
</HEAD> <BODY>
<div id = "test"> </div>
<input type = button onclick = "set();" value = "set"/>
</BODY>
</HTML>
楼上几位的闭包.... btn.click本身都有指针引用了...
btn.click = function(){
alert(this._no);//this是个指针就直接指向当前的DOM节点
}