2015-07-06 65 views
0

插入新元素我想翻譯的原型如下功能:翻譯從原型去jQuery的

function addCommentDump(message, type, info) { 
    var commentDump = $('comment_dump'); 
    if (!commentDump) { 
     var container = $('comment_dump_container'); 
     if (!container) { 
      return; 
     } 
     container.insert(commentDump = new Element('div', { 
      'id': 'comment_dump' 
     })); 
    } 
    if (info) { 
     message += ': ' + info; 
    } 
    commentDump.insert(new Element('span', { 
     'class': type 
    }).update(message)); 
} 

到jQuery的一個。這裏是代碼:

function addCommentDump(message, type, info) { 
    //alert("working....."); 
    var $commentDump = $('#comment_dump'); 
    if (!$commentDump) { 
     var $container = $('#comment_dump_container'); 
     if (!$container) { 
      return; 
     } 
     $container.append($commentDump = new Element('div', { 
      'id': 'comment_dump' 
     })); 
    } 
    if (info) { 
     message += ': ' + info; 
    } 
    $commentDump.append(new Element('span', { 
     'class': type 
    }).html(message)); 
} 

我得到一個錯誤:TypeError:非法的構造函數。 在此先感謝您的幫助。

回答

1

Element不是jQuery中的班級。你不能撥打new Element。 要創建新元素,您可以使用$('<div />')

更改此

$container.append($commentDump = new Element('div', { 
    'id': 'comment_dump' 
})); 

$container.append($('<div />').attr({ 
    'id': 'comment_dump' 
})); 

$commentDump.append(new Element('span', { 
    'class': type 
}).html(message)); 

$commentDump.append($('<span />').attr({ 
    'class': type 
}).html(message));