Jquery - 如何在使用empty()选择器后恢复默认值

时间:2013-03-28 11:03:49

标签: javascript jquery html

我有桌子,它有2个标签。当我点击隐藏按钮然后将使用$()。empty()消失。但我不知道如何恢复。
我不想使用$()。append或类似添加新数据的东西。我想恢复它。
我怎样才能做到这一点。感谢

<script type="text/javascript">

$(function(){
    $('#hidden').click(function(){
        $('.hidden').empty();
    });
    $('#restore').click(function(){
        // restore defaults
    });
});
</script>
<table>
    <tr class="hidden">
        <td>a</td>
        <td>b</td>
    </tr>
    <tr>
        <td>c</td>
        <td>d</td>
    </tr>
</table>
<input type = "button" id ='hidden' value="hidden"/>
<input type = "button" id ='restore' value="restore"/>

5 个答案:

答案 0 :(得分:5)

您可以简单地隐藏和显示项目,而不是清空。

$('#hidden').click(function(){
    $('.hidden').hide();
});
$('#restore').click(function(){
    $('.hidden').show();
});

答案 1 :(得分:1)

为什么不使用hideshow

$(function(){
    $('#hidden').click(function(){
        $('.hidden').hide();
    });
    $('#restore').click(function(){
        // restore defaults
        $('.hidden').show();
    });
});

答案 2 :(得分:0)

如果你不想简单地隐藏它(如已经建议的那样),你可以将它保存在一个对象中。

$(function(){
    var data;
    $('#hidden').click(function(){
        data = $('.hidden').html();
        $('.hidden').empty();
    });
    $('#restore').click(function(){
        $('.hidden').html(data);
    });
});

答案 3 :(得分:0)

empty()会从dom中删除内容,因此它会永远丢失 如果您只想隐藏内容,则应使用

$.hide() 

然后

$.show()

答案 4 :(得分:0)

调用.empty()后无法恢复内容。还有另一个函数:.detach()从DOM中分离选定的元素,但不完全删除它们。分离后,元素可以再次附加.append()或.prepend()。