1

我有一个表格,显示我的数据库中的数据。在每一行上,有一个我用 jquery 制作的按钮,可以在单击时划掉该行。但是,当我刷新页面时,划掉的样式不会保留。jquery 样式更改不是永久性的。有没有办法使这种改变永久化?

$('table').on('click','.dead',function(){

          $(this).parent().siblings().css({textDecoration: 'line-through'});

    });

和PHP

<?php while($row = $data->fetch_assoc()) { ?>
<tr>

<td><?php echo $row['title']; ?> </td>
<td><?php echo  $row['requester']; ?></td>
<td><?php echo $row['reward']; ?></td>
<td><?php echo $row['qual']; ?></td>
<td><?php echo $row['time']; ?></td>
<td><?php echo $row['category']; ?></td>
<td><a href="<?php $row['link']; ?>"><button class="btn btn-mini btn-primary" type="button">Do This Hit</button></a></td>
<td><button class="btn btn-danger btn-mini dead" type="button">Dead</button></td>

</tr>
<?php } ?>
4

1 回答 1

1

每次请求页面时,您的 html、.js 和 .css 代码都会从服务器中提取。这意味着您通过 .JS 应用的任何样式都将在下次请求页面时被清除,这就是您现在所看到的。

您的开发人员负责对某种存储标志进行编程,并在 $(document).ready() 上读取它,以便在请求页面并且 dom 准备好时,它首先要做的是检查您的持久标志和它可以重新应用您样式的当前状态(打开或关闭,或者在您的情况下,直通或无直通)

对于如何持久化该标志,有很多选择。你可以设置一个 cookie,你可以使用 Session 存储,你可以使用 LocalStorage,或者你甚至可以在你的数据库中设置一个标志。由您来提供该状态的持久性。

如果您支持现代浏览器,您可以尝试在 localstorage() http://www.jquerysdk.com/api/jQuery.localStorage中设置一个标志

于 2013-05-10T03:20:25.043 回答