怎么用js添加点击事件,点击后跳转到指定动态页面

如何用js添加点击事件,点击后跳转到指定动态页面,
部分代码如下:
    if (data.success) {          
        var oParent = document.getElementById('blog');// 父级对象  
        for (var i=0;i<data.data.length;i++){              
            var index=document.createElement('div');   //添加 元素节点
            index.className='index';                   //添加 类名 name属性
            oParent.appendChild(index);               //添加 子节点
                                     
                   index.onclick=function(data){                    
                    location.href='article.php?uid=' + data.data[i].uid;                   
                   };
 
这里显示data.data[i].uid 是undefined, 这里在onclick函数外console.log(data.data[i].uid) 可以正常显示.应该是作用域的问题, 具体该如何写,求大神




------解决思路----------------------


index.onclick = (function(obj){
                       return function(){
                           location.href = 'article.php?uid=' + obj.data[i].uid;
                        } 
                    })(data);

------解决思路----------------------
<!DOCTYPE html>  
<html>  
<head>  
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>Hello, World</title>  
<style type="text/css">  
.index{
border: 2px solid #ccc;
display: block;
height: 50px;
width: 50px;
}
</style>  
</head>  

<body>  

<div id="blog"></div>
</body>  

<script>
var data={"data":[{"uid":1},{"uid":2}]}


        var oParent = document.getElementById('blog');// 父级对象  
        for (var i=0;i<data.data.length;i++){              
            var index=document.createElement('div');   //添加 元素节点
            index.className='index';                   //添加 类名 name属性
            oParent.appendChild(index);               //添加 子节点

            (function() {
             var item = data.data[i];
             index.onclick = function(){
             url(item);
             }
            })();

        }

        function url(obj){
         alert(obj.uid);    
             // location.href='article.php?uid=' + obj.uid;
        };
    </script> 
    </html>