如何将Div的id作为参数传递给函数

时间:2013-09-01 21:59:57

标签: javascript jquery

我有一个Div,可以通过点击按钮使用jQuery动态添加到页面中。

我希望能够使用RemoveArtist()功能点击cross-button.png删除Div。

$("<div class=\"input-append\" id=\"artist"
    + artists.length - 1 + "\" ><label style=\"background-color:#e0ffff\">"
    + artistVal + "</label><img onclick=\"RemoveArtist()\" id=\"removeartist\""
    + " src=\"/Content/bootstrap/img/cross-button.png\" /></div>")
    .appendTo(addDiv);

删除艺术家的功能应如下所示:

var RemoveArtist = function (div,artistlength) {

    $('div').remove();
    artists.splice(artistlength, 1);
};

如何将实际div传递给RemoveArtist函数以及来自Div的artistlength值的artists.length - 1

所以基本上我试图删除Div并从艺术家阵列中删除艺术家。

1 个答案:

答案 0 :(得分:1)

在我看来,如果你创造了实际的元素而不是字符串,你会更好 这是写的东西,但是让人更容易跟踪:

var input_append = $('<div />', {id: 'artist' + (artists.length - 1)}),
    label        = $('<label />', {style: 'background-color:#e0ffff',
                                   text : artistVal
                                  }
                    ),
    image        = $('<img />', {id:  'removeartist',
                                 src: '/Content/bootstrap/img/cross-button.png',
                                 on: {
                                       click: function() {
                                          input_append.remove();
                                          artists.splice(artists.length - 1, 1);
                                       }
                                     }
                                }
                    );

addDiv.append( input_append.append(label, img) );