JQuery div选择器问题 急急急急急急
var PathSet = $(this).attr('p'); var folderPathSize = PathSet.substring(1, PathSet.length).split('/'); var folderPath = PathSet; var arrayPath = new Array(); var num = 0; if(folderPathSize.length > 1) { for(j = 0; j < folderPathSize.length; j++) { if(j != folderPathSize.length - 1) { folderPath = folderPath.substring(0, folderPath.lastIndexOf('/')); arrayPath[num] = folderPath; num = num + 1; } } arrayPath.reverse(); } arrayPath[num] = PathSet; for(k = 0; k < arrayPath.length; k++) { alert(arrayPath[k]); //正常输出 var PathLink = $("<a>"); PathLink.append(arrayPath[k].substring(arrayPath[k].lastIndexOf('/') + 1)); PathLink.bind('click', function() { alert(arrayPath[k]); //输出undefined //$(".leftBlock").remove(); //******* 需要处理的地方 }); $('#track').append(" -> "); $('#track').append(PathLink); } });
//这样试试for (k = 0; k < arrayPath.length; k++) { alert(arrayPath[k]); //正常输出 var PathLink = $("<a>"); PathLink.append(arrayPath[k].substring(arrayPath[k].lastIndexOf('/') + 1)); PathLink.tmp = arrayPath[k]; //定义个属性,值设为array[k] PathLink.bind('click', function() { alert(this.tmp); }); $('#track').append(" -> "); $('#track').append(PathLink);}
[解决办法]
for(k = 0; k < arrayPath.length; k++) { alert(arrayPath[k]); //正常输出 var PathLink = $("<a>"); PathLink.append(arrayPath[k].substring(arrayPath[k].lastIndexOf('/') + 1)); PathLink.bind('click', function([color=#FF0000]此处需要传参或者将这个click方法写成闭包[/color]) { alert(arrayPath[k]); //输出undefined //$(".leftBlock").remove(); //******* 需要处理的地方 }); $('#track').append(" -> "); $('#track').append(PathLink); }
[解决办法]
//var a = '\'#' + arrayPath[k] + '\'';var a = '#' + arrayPath[k];//如果上面的方法不行的话,先用js获取这个元素对象再转为jQuery对象试试var a = '#' + arrayPath[k];PathLink.bind('click', function() { var obj = document.getElementById(a.substring(1)); $(obj).remove();});
[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script><script type="text/javascript">$(document).ready( function() { var obj = document.getElementsByTagName('span'); for (var k = 0; k < obj.length; k ++) { with({k:k}) { $(obj[k]).bind('click', function() { alert(k); }); } }});</script></head><body><span>111</span><span>222</span><span>333</span></body></html>