javascript - 使用 JavaScript 修改子节点中的输入名称
问题描述
我需要帮助扩展这个 JavaScript(借自https://www.quirksmode.org/dom/domform.html):
var appCounter = 0;
function anotherApp() {
appCounter = appCounter + 1;
var newAppField = document.getElementById("keyApp").cloneNode(true);
newAppField.id = '';
newAppField.style.display = 'block';
var newApp = newAppField.childNodes;
for (var i = 0; i < newApp.length; i++) {
var theName = newApp[i].name
if (theName) {
newApp[i].name = theName + appCounter;
}
}
var insertApp = document.getElementById('keyApp');
insertApp.parentNode.insertBefore(newAppField, insertApp);
document.getElementById('appCount').value = appCounter
}
当我的表单中的元素是:
<div id="keyApp" style="display:none">
<input type="text" name="application" id="application">
<input type="text" name="usage" id="usage">
<\div>
但是当我div
在输入周围添加 's (引导样式原因)时,我失去了更新输入名称的能力:
<div id="keyApp" style="display:none">
<div class="col-md-2">
<input type="text" name="application" id="application">
</div>
<div class="col-md-2">
<input type="text" name="usage" id="usage">
</div>
<\div>
如何扩展脚本以修改这些新的输入名称div
?
解决方案
由于现在有另一层,因此您需要newApp[i].childNodes[0]
现在获取以获取实际的输入元素。
newApp
现在拥有div
带有样式的元素列表col-md-2
,您需要将子元素放入这些div
元素中。
推荐阅读
- java - Hibernate 生成格式错误的查询并将其发送到 SQL 服务器
- laravel - 来自“http://localhost:8000”的 Laravel 8 已被 CORS 策略阻止
- scala - Scala List 与 ListBuffer 中 concat 和 append 的性能
- python - 如何使用 django 模型中的方法使 django 布尔字段为真
- python - 来自 Redis 单元测试 python 的模拟数据
- flutter - 无法将此 Obx 小部件标记为需要构建,因为框架已经在构建小部件的过程中
- powerapps - 使用 DatePicker 控件从 SahrePoint 列表中提取数据
- python - 如何将 ID 分组在一列中并放入新列?
- sql - 三个表,两个计数,分组依据
- java - 在生产环境中管理 SSL 证书(Spring 应用程序)