为什么这种在将jquery添加到DOM后动态创建按钮的方法会创建对象?
我不明白为什么1º的代码选项有效,但2º不行!?使用字符串创建button元素可以正常工作,但使用jquery选择器的2º参数创建button元素及其属性不起作用。它只是创建对象并将其附加到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
<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