使用Dojo重新编号div

时间:2011-01-21 21:41:41

标签: javascript dojo iteration

我在S.O.找到了一个帖子。类似于我在这里需要的东西。 jQuery removing an element and renumbering remaining elements

上面使用了我们不使用的jQuery,所以我不知道如何将div重新编号的想法转换为Dojo。

我继承了一个大量使用Dojo 1.5的大型Web项目。到目前为止,我完全挖掘了我对它的理解,但我有一个问题。

我们有一个带有编号div的页面,我已成功删除并删除了div。我需要的是按顺序排列的div。这是我需要重新划分的一个例子

<div id="filter_9_values_2_div">
<div id="filter_9_values_1_div">
<div id="filter_9_values_4_div">

理想情况下,在我删除div的javascript例程中,我想按顺序重命名,以便它们看起来像这样......

<div id="filter_9_values_1_div">
<div id="filter_9_values_2_div">
<div id="filter_9_values_3_div">

有没有人知道如何解决这个问题?我知道如何成功添加一个新的div并使其独特,但重写div的想法对我来说是一个完全的谜。一如既往地非常感谢您的帮助。珍妮。

1 个答案:

答案 0 :(得分:2)

dojo.query('div').forEach(function(el, index){
   dojo.attr(el, "id", "filter_9_values_" + (index + 1) + "_div"); 
});

您可能希望使用更具体的内容作为查询而不是仅使用“div”,如果您需要更多通用ID而不是“filter_9_values _..._ div”,则必须使用regexp或split来构建你想要的字符串,但这应该给你基本的想法,如何迭代DOM元素的集合,并对你可以想象的任何操作。