$ .each $ .append(Object [object Array]没有方法'apply')

时间:2013-06-07 13:56:17

标签: javascript jquery append each

我正在尝试$.append在自定义插件内部动态构造的元素中动态构造元素:

$('<div/>').append( function(){
    $.each(paramaterObject.rows, function(rowKey, rowValue){
        return $('<div/>')...

但Chrome控制台会提供Object [object Array] has no method 'apply'

这种方式可以$.append()吗?如果没有,有替代方案吗?请告诉我如何。

2 个答案:

答案 0 :(得分:2)

不,你不能从迭代器返回 - 你必须保留一个你填充的缓冲区,并在所有迭代完成后返回缓冲区。

某些内容;

$('<div />').append(function () {

    var buffer = "";
    $.each (parameterObject.rows, function () {
        buffer += "<div />";
    });
    return buffer;

});

答案 1 :(得分:1)

您可以尝试:

    var parentDiv = $('<div/>');
    $.each(paramaterObject.rows, function(rowKey, rowValue){
        parentDiv.append($('<div/>'));
    });