This question already has answers here:
How to prevent jQuery.append() function from automatically closing a <p> with </p>?
                                
                                    (2个答案)
                                
                        
                        
                            Dot and Square Bracket Notation
                                
                                    (2个答案)
                                
                        
                2年前关闭。
            
        

我有这样的功能:

function appendTable2(dinput,id) {
    return function(index, val) {
        $('#matrix_datatable').find(id)
            .append($('<td class="tableCells">')
                .append(val.value[0].dinput + '</td>')
            );
    };
}


就像这样:

$.each(mainData.locations.source_values, appendTable2('address1','#mAddress'));


问题是由于此行的工作原理,这会将undefined附加到我的表中:.append(val.value[0].dinput + '</td>')

它在对象中查找名为dinput的属性,而不是dinput的值。在这里使用什么适当的语法?

最佳答案

追加不像字符串连接。当您添加第一个元素时,便不会添加任何其他内容。

所以要么您构建字符串

.append('<td class="tableCells">' + val.value[0][dinput] + '</td>')


或将text / html设置为td

.append( $('<td class="tableCells"></td>').text(val.value[0][dinput]) )

10-07 21:18