我是一个刚学jquery的新手。今天遇到了一个很棘手的问题,已经卡在这半天了,望各位高手指点一下,万分感谢。大体情况是这样的,我新建了一个数组 p_array,准备将它其中每一个元素设置属性并分别绑定click事件,然后将它们再依次添加到我的content div中来。可是代码好像并没有依照我的想法执行。添加进来后才发现,每一个元素都被绑定了同样的事件。问题代码如下:
<body>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function click_me(n){
alert(n);
}
function click_method(){
var div_content= $("#content");//content div
var p_array= new Array(10);
div_content.empty();
for(var i=0;i<p_array.length;i++){
p_array[i]= $('<span>aa</span>');
p_array[i].bind("click", function(){click_me(i);});
p_array[i].appendTo(div_content);
}
}
$(document).ready(function(){
$("#command").bind("click", click_method);
});
</script><div id="command">
<p>click</p>
</div>
<div id="content">
</div>
</body>
PS:
我的设想是要实现与以下同等功能的代码
<div id="content">
<span onclick="function(){click_me(0);}"></span>
<span onclick="function(){click_me(1);}"></span>
<span onclick="function(){click_me(2);}"></span>
<span onclick="function(){click_me(3);}"></span>
……
</div>可是执行后却发现,功能代码是
<div id="content">
<span onclick="function(){click_me(n);}"></span>
<span onclick="function(){click_me(n);}"></span>
<span onclick="function(){click_me(n);}"></span>
<span onclick="function(){click_me(n);}"></span>
</div>
<body>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function click_me(n){
alert(n);
}
function click_method(){
var div_content= $("#content");//content div
var p_array= new Array(10);
div_content.empty();
for(var i=0;i<p_array.length;i++){
p_array[i]= $('<span>aa</span>');
p_array[i].bind("click", function(){click_me(i);});
p_array[i].appendTo(div_content);
}
}
$(document).ready(function(){
$("#command").bind("click", click_method);
});
</script><div id="command">
<p>click</p>
</div>
<div id="content">
</div>
</body>
PS:
我的设想是要实现与以下同等功能的代码
<div id="content">
<span onclick="function(){click_me(0);}"></span>
<span onclick="function(){click_me(1);}"></span>
<span onclick="function(){click_me(2);}"></span>
<span onclick="function(){click_me(3);}"></span>
……
</div>可是执行后却发现,功能代码是
<div id="content">
<span onclick="function(){click_me(n);}"></span>
<span onclick="function(){click_me(n);}"></span>
<span onclick="function(){click_me(n);}"></span>
<span onclick="function(){click_me(n);}"></span>
</div>
解决方案 »
- 新手提问
- 问个比较急的问题,解决马上给分!关于id="javascript:eval('opt_' + <%= j%>)"表示法
- 我在网站首页放了一幅对联广告,他怎么就是不跟着鼠标动啊,不知道是什么原因
- 请教几个属性
- 怎么用javascript实现页面右键菜单中“显示图片”功能?
- juqery append添加顺序问题
- 表格内某一行的定位问题
- Javascript中的语句在IE和Netscape中有否不兼容性?请问这些语句是哪些?紧急!
- 关于延时的问题!
- 帮忙解决下这个错误。14.Caused by: java.lang.NoClassDefFoundError: Could not initialize cla
- 获取table左上角坐标
- 怎么让用户的鼠标移到网页固定区域时变成我设计的鼠标样子
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function click_me(n){
alert(n);
}
function click_method(){
var div_content= $("#content");//content div
var p_array= new Array(10);
div_content.empty();
for(var i=0;i<p_array.length;i++){
p_array[i]= $('<span>aa</span><br/>');
p_array[i].bind("click", new Function("click_me(" + i + ")"));
p_array[i].appendTo(div_content);
}
}$(document).ready(function(){
$("#command").bind("click", click_method);
});
</script><div id="command">
<p>click</p>
</div>
<div id="content">
</div>
</body