以下代码只是尝试克隆一行并重置克隆的ID:

rowTemplate = j('#component .form-list:first-child').clone();
var newRow = dojo.clone(rowTemplate);
dojo.attr(newRow, 'id', newRowId);


但是,从萤火虫的第三行给我

TypeError: node.setAttribute is not a function (dojo.js)


通过调试,我可以看到newRow是一个Object(object [#row.class]),所以问题是:如何(或有必要)将Javascript对象转换为Dom,以使其可用于dom函数?

最佳答案

如果要使用带有dojo方法的jQuery对象,则必须将jQuery对象转换为dom元素集合。这可以使用.get()完成

rowTemplate = j('#component .form-list:first-child').clone();
var newRow = dojo.clone(rowTemplate.get(0));
dojo.attr(newRow, 'id', newRowId);


免责声明:我不熟悉dojo方法。

09-25 18:39