Javascript 在克隆的div中操纵子节点属性的值?
我正在我的jsp中克隆以下div:Javascript 在克隆的div中操纵子节点属性的值?,javascript,html,Javascript,Html,我正在我的jsp中克隆以下div: <div id="row" class=""> <div class="form-group"> <div class="control-label"> <label for="name"><b> Select Name: </b></label> </div>
<div id="row" class="">
<div class="form-group">
<div class="control-label">
<label for="name"><b> Select Name: </b></label>
</div>
<div class="control-label">
<select class="form-control" name="names" id="names">
<option value="" disabled="disabled" label="Select a name"></option>
<option value="1">Bradley</option>
<option value="2">Anderson</option>
<option value="3">Sonya</option>
</select>
</div>
<div class="control-label">
<label for="ranks"><b> Rank : </b></label>
<input type="text" value="1" name="rank" id="rank" readonly="">
</div>
</div>
</div>
如何访问rank的值,以便每次克隆div时,该值都增加1
基本上我想要像clone.getElementById'rank'这样的东西,尽管我知道这不是正确的语法。我尝试了clone.setAttribute'rank',I++但是setAttribute只访问div的属性,而不访问div中的子节点。有更简单的方法吗?尝试使用Array.prototype.forEach、for循环、Element.children来增加克隆元素的id、for值属性。控件标签元素子节点。注意,标签元素处的属性应与选择、输入元素的id相对应;在for=names、for=ranks标签元素处添加了s
var i=0;
功能复制{
var original=document.getElementById'row';
var clone=original.cloneNodetrue;
clone.id=行+++i;
Array.prototype.forEach.callclone.querySelectorAll.control-label
,函数,索引{
对于var j=0;jvar i = 0;
function duplicate() {
var original = document.getElementById('row');
var clone = original.cloneNode(true);
clone.id = "row" + ++i;
if(!document.getElementById('row3')){
original.parentNode.insertBefore(clone, document.getElementById('nextDiv')); //nextDiv not shown in jsp for simplification
}
}