我正在研究一种将选择输入/下拉框动态添加到页面的解决方案。如果我为每个选择输入提供唯一的 id 并使用 getElementById() 在脚本中包含一行 cod4e,则下面的示例代码有效,但如果我使用 GetElementsByClassName(),则该示例代码不起作用。
我的目标是使用一个脚本来填充选择输入框,而不需要为脚本分配唯一的 id 来选择输入和相应的代码。
<select class="p1"></select>
<select class="p1"></select>
<select class="p1"></select>
<script>
var Date1 = "<option>" + new Date(new Date().getTime()+(1*24*60*60*1000)).toDateString() + "</option>";
var Date2 = "<option>" + new Date(new Date().getTime()+(2*24*60*60*1000)).toDateString() + "</option>";
var Date3 = "<option>" + new Date(new Date().getTime()+(3*24*60*60*1000)).toDateString() + "</option>";
var Date4 = "<option>" + new Date(new Date().getTime()+(4*24*60*60*1000)).toDateString() + "</option>";
var Date5 = "<option>" + new Date(new Date().getTime()+(5*24*60*60*1000)).toDateString() + "</option>";
var Date = Date1 + Date2 + Date3 + Date4 + Date5
document.getElementsByClassName("p1").innerHTML = Date;
</script>
The getElementsByClassName()
函数(注意s在“Elements”中)返回一个 NodeList,而不是单个节点。您必须遍历列表才能单独对每个节点进行操作。
你可以用一个简单的方法来做到for
loop:
var selects = document.getElementsByClassName("p1");
for (var i = 0; i < selects.length; ++i)
selects[i].innerHTML = Date;
我强烈怀疑您的代码还有另一个问题:您正在创建一个名为“Date”的全局变量,这将破坏 JavaScript“Date”构造函数绑定。使用其他名称(例如小写的“日期”)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)