for (var i = 0,l = $("span").length; i < l; i++) { $("span:eq(i)").click(function(){ alert("ss");
$("span:eq(i)").click(function()这句话改成$("span:eq(0)").click(function()是可以运行的,提示框会出现六次,但0改成i就不行了。是哪里错了?
你是想为每一个span标签添加一个点击事件么?如果是的话,那么你就是把JavaScript和Jq的用法混在一起了,当你$("span")获取到一个Jq对象的时候,他其实获取的是一个包含所有span标签的一个类数组对象,而且它隐式的包含了js中for循环的功能。也就是下面的代码可以直接为每个span标签添加事件。
$("span").click(function(event) { alert("ss"); });
$("span:eq(i)")其中引号里的部分作为整体被解析 i不是作为参数被解析的可以改成
$("span").eq(i)试试
i=0后面用;号吧