【问题标题】:jQuery + loop not working in jsfiddle [closed]jQuery +循环在jsfiddle中不起作用[关闭]
【发布时间】:2012-11-08 10:49:51
【问题描述】:
我有以下脚本,我似乎无法在 jsfiddle 中工作:
我不明白为什么这不起作用?
var $widget = $("<div class='widget widget_" + i + "'>").appendTo( $(".column_" + j );
$("<div class='widget_header widget_header_" + i + "'>").appendTo( $widget );
$("<div class='widget_sub_header widget_sub_header_" + i + "'>").appendTo( $widget );
$("<div class='widget_content widget_content_" + i + "'>").appendTo( $widget );
$("<div class='widget_footer widget_footer_" + i + "'>").appendTo( $widget );
【问题讨论】:
标签:
jquery
jquery-ui
jquery-selectors
jquery-ui-sortable
【解决方案1】:
您的脚本中有错误。您忘记了以下行中的右括号:
var $widget = // --------------------------------------v
$("<div class='widget widget_" + i + "'>").appendTo( $(".column_" + j) );
演示: http://jsfiddle.net/wq6Cc/18/
【解决方案2】:
你必须改变它
var $widget = $("<div class='widget widget_" + i + "'>").appendTo( $(".column_" + j );
到
var $widget = $("<div class='widget widget_" + i + "'>").appendTo( $(".column_" + j ) );
它会完美运行。
【解决方案3】:
与您的问题无关,稍微修改一下您的代码可能会更干净。
$('#divMain').empty()
.append( $('<div>').addClass('column column_1') )
.append( $('<div>').addClass('column column_2') )
.append( $('<div>').addClass('column column_3') );
$('.column').sortable({
tolerance : 'pointer',
connectWith : '.column'
});
for (var j = 1, i; j <= 3; j++) {
for (i = 0; i <= 2; i++) {
$('<div>').addClass('widget widget_' + i)
.append( $('<div>').addClass('widget_header widget_header_' + i) )
.append( $('<div>').addClass('widget_sub_header widget_sub_header_' + i) )
.append( $('<div>').addClass('widget_content widget_content_' + i) )
.append( $('<div>').addClass('widget_footer widget_footer_' + i) )
.appendTo('.column_' + j);
}
}