我需要使用after()函数将一些tr元素添加到jQuery中的tr var,然后返回整个元素。 问题是如果我返回tr var我只得到tr var而不是用after()添加的元素。这是功能:
var tr = $('<tr/>');
$('input[name^="lcs_cognome[' + num_sede +']"]').each(function(index, value){
var attr = $(this).attr('name').split('[');
var lcs_num = '';
for(var i=0; i<attr[2].length-1; i++)
lcs_num += '' + attr[2][i];
if(index == 0)
tr.append($('<td/>').text($('input[name="lcs_nome[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_cognome[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_sede_consegna[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_indirizzo_consegna[' + num_sede +'][' + lcs_num + ']"]').val() + ' ' + $('input[name="lcs_n_civico_consegna[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_telefono_1[' + num_sede +'][' + lcs_num + ']"]').val()));
else
tr.after($('<tr/>').append($('<td/>').text($('input[name="lcs_nome[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_cognome[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_sede_consegna[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_indirizzo_consegna[' + num_sede +'][' + lcs_num + ']"]').val() + ' ' +$('input[name="lcs_n_civico_consegna[' + num_sede +'][' + lcs_num + ']"]').val()))
.append($('<td/>').text($('input[name="lcs_telefono_1[' + num_sede +'][' + lcs_num + ']"]').val())));
});
return tr;
我也尝试用insertAfter()替换after(),但它没有用。
答案 0 :(得分:0)
您必须使用insertAfter
,但您需要以另一种方式返回值:
return $('<tr/>')
.append(
$('<td/>').text($('input[name="lcs_nome[' + num_sede +'][' + lcs_num + ']"]').val())
)
.append(
$('<td/>').text($('input[name="lcs_cognome[' + num_sede +'][' + lcs_num + ']"]').val())
)
.append(
$('<td/>').text($('input[name="lcs_sede_consegna[' + num_sede +'][' + lcs_num + ']"]').val())
)
.append(
$('<td/>').text($('input[name="lcs_indirizzo_consegna[' + num_sede +'][' + lcs_num + ']"]').val() + ' ' + $('input[name="lcs_n_civico_consegna[' + num_sede +'][' + lcs_num + ']"]').val())
)
.append(
$('<td/>').text($('input[name="lcs_telefono_1[' + num_sede +'][' + lcs_num + ']"]').val())
)
);
}).insertAfter(tr)
最后不要返回tr,因为你要返回$('tr')
个对象。
您有关于它的更多信息:https://stackoverflow.com/a/11114453/5035890