我有一个包含文本输入和一些“占位符”的JavaScript。该脚本使用一个函数来在某些占位符中显示在文本输入中输入的值。问题是,如果我必须为每个占位符分配一个ID,则会花费很多时间-我认为避免重复和重复称为DRY
所以我的问题是:如何(自动使用javascript)将某个<span>
标签内的所有<div>
标签分配为ID,该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")
选择多个元素以及为什么要寻求指导改为这样做:) 最佳答案
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的浏览器中都可以使用。
关于javascript - 为多个“占位元素”分配ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3453097/