1

我创建了嵌套数组,然后将其附加到 div。当我单击 ID 为“名称”的按钮时,带有标题的电影存储在数组 $titelBetyg 中,该数组稍后存储在另一个数组 $films 中。每当我创建一个新的 $titelBetyg 时,我想从我的 div 中删除以前的 $films,然后用新的替换它。我该怎么做呢?

Javascript

$(document).ready(function(){

var $films = [];

$('#name').keyup(function(){
            $('#name').css('background-color', 'white');
});

$('#options').change(function(){
            $('#options').css('background-color', 'white');
});

$("#button").click(function(){
    var $titelBetyg = [];

    var $titel = $('#name').val();
    var $betyg = $('#options').val();

    if($titel == ""){
        $('#name').css('background-color', 'red');
        alert("Fail");
    }
    else if($betyg == "0"){
        $('#options').css('background-color', 'red');
        alert("Fail");
    }
    else{

        $titelBetyg.push($titel);
        $titelBetyg.push($betyg);
        $films.push($titelBetyg);

        // here is where i need to remove it before appending the new one

        $('#rightbar').append("<ul>");
        for(i=0; i<$films.length; i++){
            $('#rightbar').append("<li>" + $films[i][0] + " " + $films[i][1] + "</li>" + "<br>");
        }
        $('#rightbar').append("</ul>");
    }
});

$('#stigande').click(function(a,b){

});
$('#fallande').click(function(){

});

});
4

3 回答 3

1

像这样使用.empty()(并附加到<ul>而不是其他东西):

var $ul = $("<ul>");
for (var i=0; i<$films.length; i++) {
    $ul.append("<li>" + $films[i][0] + " " + $films[i][1] + "</li><br>");
}
$('#rightbar').empty().append($ul);

顺便说一句,只附加新的而不是清空和重建整个东西可能更容易:

$('#rightbar ul').append("<li>" + $titel + " " + $betyg + "</li><br>");

要从 中仅删除列表内容(而不是其他内容)#rightbar,您可以使用以下命令:

var $ul = $('#rightbar ul').empty();
if (!$ul.length) // if nonexistent…
    $ul = $("<ul>").appendTo('#rightbar'); // create new one


for (var i=0; i<$films.length; i++)
    $ul.append("<li>" + $films[i][0] + " " + $films[i][1] + "</li>");
于 2013-02-27T14:52:32.593 回答
0

您只需要删除容器的内容。所以,使用.empty()函数

$('#rightbar').empty().append("<ul>"); //It will empty the content and then append
for(i=0; i<$films.length; i++){
    $('#rightbar').append("<li>" + $films[i][0] + " " + $films[i][1] + "</li>" + "<br>");
}
$('#rightbar').append("</ul>");
于 2013-02-27T14:51:34.367 回答
0
document.getElementById('rightbar').innerHTML = '';

这样右栏完全是空的。

于 2013-02-27T14:49:20.707 回答