Hello Stack Overflow我希望你今天好,
我有这段代码:
$('.add_child').click(function(){
var attrName = $(this).attr('name');
var count = $(this).attr('count');
$(this).attr('count', (parseInt(count)+1))
var input = $('<input />');
input.attr('type','text')
input.attr('name',attrName+"["+count+"]" )
$('.children_form').append('<li>'+[input]+'</li>');
})
我想让我出去显示为:
<li><input /></li>
但它似乎无法正常工作我在HTML中获取此代码
<li>[object Object]</li>
我相信这条线给了我这个问题:
$('.children_form').append('<li>'+[input]+'</li>');
答案 0 :(得分:2)
使用[input]
您正在创建一个数组。但是'<li>'+input+'</li>'
也不起作用,因为input
是一个对象,而不是HTML。
你必须这样做:
$('.children_form').append($('<li />').append(input));
count
不是有效的HTML属性。您应该使用.data()
代替。您可以使用HTML5 data attributes格式data-count="0"
格式的属性设置初始值。
答案 1 :(得分:0)
$('.add_child').click(function(){
var attrName = $(this).attr('name'),
count = $(this).attr('count');
$(this).attr('count', (parseInt(count)+1));
var input = $('<input />', {
type: 'text',
name: attrName + '[' + count + ']',
});
$('.children_form').append($('<li>').html(input));
});