Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在克隆的div中操纵子节点属性的值?_Javascript_Html - Fatal编程技术网

Javascript 在克隆的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>

我正在我的jsp中克隆以下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;j克隆节点中id为的所有元素的id是否都应该增加?e、 名字,等级?注意id必须是唯一的。查看克隆节点有哪些方法。否,名称id不必递增。只是排名。对于queryselectorAll,如果我的引导格式从控件标签更改为col-lg-3控件标签,那么语法是否应该是clone.queryselectorAll.col-lg-3控件标签“?@RJK如果控件标签的类名更改为col-lg-3,可以调整为.queryselectorAll.col-lg-3我认为解决方案会起作用,但是由于某些原因,我在querySelectorAll中设置正确的class元素时遇到困难。但是由于某些原因,我在querySelectorAll中设置正确的class元素时遇到困难。在问题中使用相同的html?现在,我的子元素类是这样的:'col-lg-3 control label'代表名称'col-lg-4'代表等级选择'col-lg-3 control label',我理解这与原始帖子不同,我很抱歉,但我该如何捕捉这一点?
var 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
  } 
}