Javascript 大量dom元素的问题
我对DOM元素有问题,我需要添加2000个块。我试图通过setTimeout来实现这一点,但是事件不能与这些元素一起工作。谁知道我犯了什么错误Javascript 大量dom元素的问题,javascript,jquery,Javascript,Jquery,我对DOM元素有问题,我需要添加2000个块。我试图通过setTimeout来实现这一点,但是事件不能与这些元素一起工作。谁知道我犯了什么错误 function init(){ $('#regions').prepend("<ul></ul>"); setTimeout(function(){ var opt=$('#regions ul'); for(var i=0; i<50; ++i){
function init(){
$('#regions').prepend("<ul></ul>");
setTimeout(function(){
var opt=$('#regions ul');
for(var i=0; i<50; ++i){
for(var j=0; j<50; ++j)
opt.append('<li class=\"field\"></li>');
}
}, 0);
}
函数init(){
$(“#区域”)。前缀(“
”;
setTimeout(函数(){
var opt=$(“#区域ul”);
对于(var i=0;i,因为您使用的是jquery,通过在页面加载之后加载元素,您需要将事件添加到元素中
编辑://我说绑定,但想到了live
假设所有元素都有一个名为“added”的类,只是为了使事情更简单
然后通过执行以下操作绑定悬停事件:
$(".added").live("mouseover",function(){
//do stuff
});
因为您使用的是jquery,所以通过在页面加载后加载元素,您需要将事件添加到元素中
编辑://我说绑定,但想到了live
假设所有元素都有一个名为“added”的类,只是为了使事情更简单
然后通过执行以下操作绑定悬停事件:
$(".added").live("mouseover",function(){
//do stuff
});
首先构建要插入的完整HTML,然后在单个操作中完成
function init(){
var html =[];
for(var i=0; i<50; ++i){
for(var j=0; j<50; ++j)
html.push('<li class=\"field\"></li>');
}
$('#regions').prepend("<ul>" + html.join('') + "</ul>");
}
函数init(){
var html=[];
对于(var i=0;i首先构建要插入的完整HTML,然后在单个操作中完成
function init(){
var html =[];
for(var i=0; i<50; ++i){
for(var j=0; j<50; ++j)
html.push('<li class=\"field\"></li>');
}
$('#regions').prepend("<ul>" + html.join('') + "</ul>");
}
函数init(){
var html=[];
对于(var i=0;i,您可以使用jQuery的live方法。在它的帮助下,您可以将事件绑定到元素集,即使它们可能稍后添加
例如:
$('#regions ul li').live('mouseover', function() {
// Live handler called.
});
请参阅此处的更多信息:您可以使用jQuery的live方法。在它的帮助下,您可以将事件绑定到元素集,即使稍后可能会添加这些元素
例如:
$('#regions ul li').live('mouseover', function() {
// Live handler called.
});
请参见此处的更多信息:一些快速信息:
为什么只有两倍的for
循环而不是1
您应该看看AlfonsoML的建议,即首先构建整个HTML字符串,然后将其插入DOM
虽然live
确实很方便,但我通常建议改用$(“#regions”).delegate('li','click',function(e){…})
与live
做同样的事情,并且在DOM上更干净
一些简单的东西:
为什么只有两倍的for
循环而不是1
您应该看看AlfonsoML的建议,即首先构建整个HTML字符串,然后将其插入DOM
虽然live
确实很方便,但我通常建议改用$(“#regions”).delegate('li','click',function(e){…})
与live
做同样的事情,并且在DOM上更干净
您可以发布一些代码吗?这通常是一个很好的开始…您可以发布一些代码吗?这通常是一个很好的开始…但是如何使用绑定添加悬停事件?但是如何使用绑定添加悬停事件?