1

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

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

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

有可能$.append()这样吗?如果没有,是否有替代方案?请告诉我如何。

4

2 回答 2

2

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

类似的东西;

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

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

});
于 2013-06-07T14:00:22.550 回答
1

你可以试试:

    var parentDiv = $('<div/>');
    $.each(paramaterObject.rows, function(rowKey, rowValue){
        parentDiv.append($('<div/>'));
    });
于 2013-06-07T14:00:33.950 回答