Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
为什么这种在将jquery添加到DOM后动态创建按钮的方法会创建对象?_Jquery_Dom_Dynamically Generated - Fatal编程技术网

为什么这种在将jquery添加到DOM后动态创建按钮的方法会创建对象?

为什么这种在将jquery添加到DOM后动态创建按钮的方法会创建对象?,jquery,dom,dynamically-generated,Jquery,Dom,Dynamically Generated,我不明白为什么1º的代码选项有效,但2º不行!?使用字符串创建button元素可以正常工作,但使用jquery选择器的2º参数创建button元素及其属性不起作用。它只是创建对象并将其附加到DOM <script> var arr = []; for(var i = 1; i <= 1000; i++){ // 1º option to create button elem var boton = '<button type="button" class="btn

我不明白为什么1º的代码选项有效,但2º不行!?使用字符串创建button元素可以正常工作,但使用jquery选择器的2º参数创建button元素及其属性不起作用。它只是创建对象并将其附加到DOM

<script>
var arr = [];
for(var i = 1; i <= 1000; i++){
  // 1º option to create button elem
  var boton = '<button type="button" class="btn btn- 
  primary">'+i+'</button>';
  // 2º option to create button elem
  var boton = $('<button>', {
    'text': i,
    'id': 'btn_' + i,
    'class': 'btn btn-danger'
  })
  arr.push(boton);
}


$(function(){

  $('button').after(arr.join(''));

});


</script>


<button type="button" class="btn btn-primary">
  Imprimir en consola 'Hola Mundo'
</button>

var-arr=[];

对于(var i=1;i第一个方法有效,因为您创建了一个包含有效HTML的字符串

第二个示例尝试从jQuery对象创建字符串。这不会像您预期的那样工作,因为它隐式调用对象上的
toString()
,结果是
“[object object]”,而不是HTML

请注意,如果删除
join()
调用并附加数组本身,则可以使用jQuery对象实现后一种方法:

var arr=[];
对于(var i=1;i