Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 选择动态创建的元素_Javascript_Jquery - Fatal编程技术网

Javascript 选择动态创建的元素

Javascript 选择动态创建的元素,javascript,jquery,Javascript,Jquery,我动态创建了一个div并附加到div。我正在尝试从查询中添加数据并将其加载到该文本字段。但是,我无法选择动态创建的元素,因为它在DOM中不可见,因为它已经加载。 这就是我所拥有的 问题是id选择器将只返回具有给定id的第一个元素。在您的示例中,您正在使用id子元素创建多个元素。因此,child将返回第一个子元素,但随后应用数据行规则将过滤掉所选元素,因此结果为0 解决方案是使用类而不是id来选择元素 var-rowNum=0; $'parent'。单击“childButton”功能{ var

我动态创建了一个div并附加到div。我正在尝试从查询中添加数据并将其加载到该文本字段。但是,我无法选择动态创建的元素,因为它在DOM中不可见,因为它已经加载。 这就是我所拥有的


问题是id选择器将只返回具有给定id的第一个元素。在您的示例中,您正在使用id子元素创建多个元素。因此,child将返回第一个子元素,但随后应用数据行规则将过滤掉所选元素,因此结果为0

解决方案是使用类而不是id来选择元素

var-rowNum=0; $'parent'。单击“childButton”功能{ var clone=$'child.clone.attr'data-row',++rowNum.removeAttr'id'; $'parent'.appendclone; //这里clone指的是动态创建元素 //但是如果您想使用选择器获取元素,那么 snippet.log$'.child[data row=1]'.length; };
问题是id选择器将只返回具有给定id的第一个元素。在您的示例中,您正在使用id子元素创建多个元素。因此,child将返回第一个子元素,但随后应用数据行规则将过滤掉所选元素,因此结果为0

解决方案是使用类而不是id来选择元素

var-rowNum=0; $'parent'。单击“childButton”功能{ var clone=$'child.clone.attr'data-row',++rowNum.removeAttr'id'; $'parent'.appendclone; //这里clone指的是动态创建元素 //但是如果您想使用选择器获取元素,那么 snippet.log$'.child[data row=1]'.length; };
您是具有相同id的克隆元素,如果要检查,请使用

console.log($('div[data-row=1]').length);

正如其他人所说,ID应该是唯一的。将类定义改为子id名称。

如果要选中“仅使用”,则将克隆具有相同id的元素

console.log($('div[data-row=1]').length);

正如其他人所说,ID应该是唯一的。使用类定义代替子id名称。

我认为您的选择器是错误的,它一定是:

console.log($('#child[data-row="1"]').length);

并考虑删除ID TATR以避免多个IDS。


演示:

我认为您的选择器错了,一定是:

console.log($('#child[data-row="1"]').length);

并考虑删除ID TATR以避免多个IDS。


演示:

克隆id为的元素时,请更改id:


克隆id为的元素时,请更改id:

也可以使用选择器input:text选择输入

更新

如果要选择要设置值的特定输入,可以使用索引并通过查找该索引来设置值

也可以使用选择器input:text选择输入

更新

如果要选择要设置值的特定输入,可以使用索引并通过在克隆元素上查找相同id来设置值,即issueExplain无法选择动态创建的元素。如何选择?克隆元素上的相同id为issueExplain无法选择动态创建的元素。你是如何选择的?
var rowNum = 0;
$('#parent').on('click', '#childButton', function() {  
    var clone = $('#child').clone().attr('data-row', ++rowNum);
   $('#parent').append(clone);
   console.log($('#parent input:text').length);
});