Javascript Dojo是否允许更改dom id或widgetid?

Javascript Dojo是否允许更改dom id或widgetid?,javascript,dojo,Javascript,Dojo,我有一个dojo组件列表,现在希望允许用户删除其中任何一个组件。但这会带来一个挑战,即当链上的一个节点被破坏时,数组序列会被破坏。所以我想我必须手动重新分配每个节点(在删除节点之后)的id和widget id 之前: 节点1 |节点2 |节点3 | | |节点n| 删除后: 节点1 |节点n| 重新分配后: 节点1 |节点2 |节点3 | | |节点n-1| 但这些代码行似乎不起作用: dojo.setAttr(denomNode, "id", 'widget__record['+ index

我有一个dojo组件列表,现在希望允许用户删除其中任何一个组件。但这会带来一个挑战,即当链上的一个节点被破坏时,数组序列会被破坏。所以我想我必须手动重新分配每个节点(在删除节点之后)的id和widget id

之前:

节点1 |节点2 |节点3 | | |节点n|

删除后:

节点1 |节点n|

重新分配后:

节点1 |节点2 |节点3 | | |节点n-1|

但这些代码行似乎不起作用:

dojo.setAttr(denomNode, "id", 'widget__record['+ index +'].id');
dojo.setAttr(denomNode, "widgetid", '_record['+ index +'].id');

那么dojo可以允许在运行时手动更改id和widegetid吗?如果没有,这种情况的最佳解决方案是什么?

我的建议是隐藏节点,这样用户就看不到它,并有一个隐藏字段,用逗号分隔的ID列表跟踪删除的条目。在服务器端,您可以循环遍历数组,并确保在处理值之前未删除每个条目。

如果您可以在运行时更改id,我会感到惊讶。你能解释一下为什么你需要序列保持完整吗?你能发布与widget数组交互的代码吗?@CraigSwing谢谢。因为保存数组的页面是Jspx,控制器必须从页面获取数组以进行进一步处理。因此,如果dojo破坏一个节点,这是否意味着数组突然变成[0]、a[2]、a[3]…a[n],或者它可以自动调整索引?我有源代码,但它非常抽象,因为Spring/ApacheTiles在源代码中没有给出太多明确的信息,但我确信java控制器希望数组中的DOM列表不会中断。