我有一个表,显示来自数据库的数据。在每一行上,都有一个我用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 } ?>
每次请求页面时,您的html, .js和.css代码都是从服务器中提取的。这意味着你通过。js应用的任何样式都会在下次请求页面时被删除,这就是你现在看到的。
你的开发人员负责编程某种形式的存储标志,并读取它在$(document).ready(),所以当页面被请求和dom准备好了,它会做的第一件事是检查你的持久性标志,它可以重新应用你的样式的当前状态(打开或关闭,或者在你的情况下,行透或不行透)
关于如何持久化该标志有很多选项。你可以设置cookie,你可以使用Session存储,你可以使用LocalStorage,或者你甚至可以在数据库中设置一个标志。提供该状态的持久性取决于您。
如果你支持现代浏览器,你可以尝试在localstorage()中设置一个标志。http://www.jquerysdk.com/api/jQuery.localStorage