jQuery追加字符串

时间:2011-03-16 17:23:56

标签: jquery

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>');

2 个答案:

答案 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));
});