在回发期间是否保留了jQuery .data()?

时间:2009-08-26 20:26:24

标签: jquery

如果在jQuery.data()

中存储值
$('#customerName').data('cname','test');

然后回发页面,当页面重新加载时,.data()中的值是否可用?

由于

3 个答案:

答案 0 :(得分:2)

不,它不会像所有其他JavaScript客户端一样。您可以使用cookie在客户端上保留数据。

Working Demo 来演示

$(function() {   
    $('#store').click(function() {        
        $.data(document, "value", "This is the value stored in data");        
        $('#data').text('Stored!').css('background-color', 'red');        
    });

    $('#get').click(function() {       
        $('#data').text($.data(document, "value")).css('background-color', 'green');        
    });

    $('#clear').click(function() {        
        $('#data').text('');;        
    });   
});

答案 1 :(得分:0)

它不应该是因为您在重新加载页面时无法保持javascript状态。至少不是那么简单。

答案 2 :(得分:0)

没有。数据附加到DOM元素 - 在页面重新加载时丢失。理解页面源和DOM之间的区别是关键。

如果浏览器实际上跟踪哪些数据附加到哪个元素,并且随后尝试将其与重新加载的页面上的元素匹配,那将是非常非常糟糕的。

但是,你想要达到的目标是什么?在大多数(如果不是全部)情况下,还有另一种解决方案。