我想用jquery动态添加一个控件,想实现用二重循环添加控件,可是总是不行。有人能帮看下么?js代码:(jquery已经正确引入)<script type="text/javascript">
$(document).ready(function(){
var str = ['jack','london','john','mj','madson','taller'];
for(var i=0;i<5;i++){
//第一层循环向已经存在的大div中添加5个小的div
$('#d1').append('<div style="border:1px solid red; id="line'+i+'""></div>');

//二重循环想刚刚添加的小div中添加进几个标签
for(var j=0;j<str.length;j++){
$('#line'+i).append('<span style="border:1px solid blue; id="span'+j+'"">'+str[j]+'</span>');
}
}
        });
</script>
页面代码:<div id="d1" style="width:300px;height:200px;border:1px solid black;">

</div>
jquerydiv

解决方案 »

  1.   

    js不知道 $('#line'+i)是什么,你上面的语句执行完蛋没有在浏览器解释,下面的js选择器就搜不到
      

  2.   

    嗯嗯,已经解决了,谢谢。jquery提供了这种问题的解决方法:live,如下: //添加热点城市
         for(var i=0;i<hotList.length;i++){
         ($('#cityHotUl')).append('<li class="hotCityLi" id="hotCityLi'+i+'" cityName="'+hotList[i].FULLNAME+'" cityID="'+hotList[i]._id+'">'+hotList[i].CNNAME+'</li>');
         //给热点城市添加点击事件
         $('#hotCityLi'+i).live('click',function(){
         $('#locationName').val($(this).attr('cityName'));
         $('#locationID').val($(this).attr('cityID'));
         $('#cityLocation').hide();
         });
         //鼠标悬浮在省份上时
         $('#hotCityLi'+i).live('mouseover',function(){
         $(this).css({"font-weight":"bold","font-size":"13px"});
         });
         //鼠标离开在省份上时
         $('#hotCityLi'+i).live('mouseout',function(){
         $(this).css({"font-weight":"normal","font-size":"12px"});
         });
         }