我有一个包含文本输入和一些“占位符”的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")
来选择多个元素为什么我要求指导这样做:)
答案 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的浏览器。