被jQuery代码段向TR追加TDs的失败所迷惑
这个问题背后的动机是理解下面的jQuery代码段失败的原因 注意:通过愚蠢、盲目的尝试和错误,我已经找到了可以工作(或似乎可以)的替代代码。因此,本问题的目的不是(本质上)解决下面所示的问题。相反,我的目标是尽可能多地理解它失败的原因被jQuery代码段向TR追加TDs的失败所迷惑,jquery,Jquery,这个问题背后的动机是理解下面的jQuery代码段失败的原因 注意:通过愚蠢、盲目的尝试和错误,我已经找到了可以工作(或似乎可以)的替代代码。因此,本问题的目的不是(本质上)解决下面所示的问题。相反,我的目标是尽可能多地理解它失败的原因 jQuery(document).ready(function ($) { var tds = []; for (var i = 0; i < 3; ++i) { var td = $('<td>'
jQuery(document).ready(function ($) {
var tds = [];
for (var i = 0; i < 3; ++i) {
var td = $('<td>');
tds.push(td);
}
var $tds = $(tds);
var $row1 = $('#row1');
$tds.appendTo($row1);
});
您可以从doElement数组中创建新的jQuery对象,而不是从
jQuery
对象数组中创建新的jQuery对象,因此此行是错误的:
var $tds = $(tds);
最简单的修复方法是将
$('')
更改为$('')[0]
,以获得实际的
数据元素。您也可以在那里使用document.createElement('td')
。如果jQuery无法将jQuery包装器数组转换为单个包装器对象,请尝试以下操作
jQuery(function ($) {
var $tds = $();
for (var i = 0; i < 3; ++i) {
var td = $('<td/>', {
text: i
});
$tds = $tds.add(td);
}
var $row1 = $('#row1');
$tds.appendTo($row1);
});
jQuery(函数($){
var$tds=$();
对于(变量i=0;i<3;++i){
var td=$(''{
正文:i
});
$tds=$tds.add(td);
}
变量$row1=$(“#row1”);
$tds.appendTo(第1行);
});
演示:非常感谢您提供的非常有用的回复。我希望我能选择你的和Paulpro的。在我的经验中,很少有两个如此优秀的答案几乎同时出现。。。
jQuery(function ($) {
var $tds = $();
for (var i = 0; i < 3; ++i) {
var td = $('<td/>', {
text: i
});
$tds = $tds.add(td);
}
var $row1 = $('#row1');
$tds.appendTo($row1);
});