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