独角兽企业重金招聘Python工程师标准>>>
11月7日 17:10:40
之前写过几篇类似的文章,现在看来比较初级,弄一个高级的简单的
情景: 后台要上传游戏截图,截图数量不确定,因此使用动态添加input节点的方法去实现这个效果
主要用到的函数有:
document.getElementById();
objNode.parentNode;
objNode.cloneNode();
objNode.removeAtrribute();
objNode.innerHTML();
objNode.appendChild();
html:
1 <div class="well well-sm">2<div class="form-group">3 <label class="form-label">游戏截图:</label>4 <input type="file" name="jietu[]" class="form-input">5 <span class="form-tip" οnclick="add_jietu()"><font color="#428bca">点击添加游戏截图</font></span>6</div>7<div class="form-group" id="add_jietu">8 <label class="form-label">游戏截图:</label>9 <input type="file" name="jietu[]" class="form-input">10</div>11 </div>
javascript:
1 <script type="text/javascript">2 function add_jietu()3 {4var add_jietu = document.getElementById('add_jietu');5var nodeFather = add_jietu.parentNode;6var node_clone = add_jietu.cloneNode();7content = add_jietu.innerHTML;8node_clone.removeAttribute('id');9node_clone.innerHTML = content;10nodeFather.appendChild(node_clone);11 }12 </script>
注意:
1. js第6行使用的是"克隆节点"函数,克隆后的节点里边并没有html,需要第9行的代码去填充内容
2. 使用克隆功能,因为该方法生成的变量类型是"节点类型", 才可以用到appendChild()函数里做参数
3. 节点的 nextSibling 和 lastChild 属性得到的变量是 Text类型(在chrome的调试窗口中看到的)