为多个“占位元素”分配ID

时间:2010-08-10 20:23:41

标签: javascript dom

我有一个包含文本输入和一些“占位符”的JavaScript。该脚本使用函数显示在某些占位符的文本输入中输入的值。问题是,如果我必须为每个占位符分配一个ID,那将花费大量时间 - 我认为避免重复和重复被称为DRY

所以我的问题是:我如何(使用javascript)“自动”分配所有<span> - 标签内的某个<div> - 标签,其ID包含一个字符串,这在所有跨度中都是相同的,和一个不同的整数fx:

<div id="foo1"> //assign inside this div
<span id="placeholder1"></span>
<span id="placeholder2"></span>
<span id="placeholder3"></span>
</div>
<span id="foo2"></span> //this is not assigned, it is outside the "foo1"-<div>

我确信它可以在,它被称为DOM,方法吗?我不确定但是这样:

window.onload = function(){
    var foo = new Array();
}

依旧:)我正在使用的脚本将在this post中看到,在该帖子中,您还可以看到为什么我没有使用document.getElementsByName("foo")来选择多个元素为什么我要求指导这样做:)

1 个答案:

答案 0 :(得分:2)

function nameElements(div_name, prefix)
{
    var div_elem = document.getElementById(div_name);
    var spans = div_elem.getElementsByTagName('span');
    for (var i = 0; i < spans.length; ++i)
    {
        spans[i].id = prefix + (i+1);
    }
}

不确定“for(var i ...”是否适用于所有浏览器,但其余的应该适用于任何符合DOM的浏览器。