当我点击用户点击下拉菜单时,我正试图隐藏或删除一些html元素。
我已经尝试过:
$("#notif").click(function(){
$("#count").remove();
});
但问题是当用户刷新页面时,会再次显示#count元素。 如何在用户登录时保持隐藏#count甚至刷新页面并在用户重新登录时再次显示 我对javascript知之甚少。
我可以在javascript / jquery中执行此操作吗?或者我应该保持PHP会话的价值吗?。
答案 0 :(得分:0)
这很简单。
@ViewChild('countryTable') public countryTable: any;
ngAfterViewInit() {
var b = this.countryTable.el.nativeElement.querySelectorAll('button');
console.log(b);
}
将上面的代码放在javascript文件或脚本标记中。
答案 1 :(得分:0)
<?php
if(!isset($_SESSION["session_name"]))
{
$_SESSION["session_name"]='';
}
?>
<script>
var session=<?php echo $_SESSION["session_name"]; ?>;
if(session!='')
{
$("#count").hide();
}
</script>
答案 2 :(得分:0)
//one option
$(document).ready(function(){
$("#count").hide();
});
//second option
$(document).ready(function(){
$("#count").remove();
});
//third option
$(document).ready(function(){
$("#count").css("display","none");
});
答案 3 :(得分:0)
我正在使用jQuery插件(jQuery cookies),你可以从中获得相同的结果 https://github.com/js-cookie/js-cookie
首先,当用户点击
中的按钮时设置Cookie$(function() {
if (Cookies.get('RemoveCount') == 'true' && Cookies.get('RemoveCount') != 'undefined') {
$("#count").hide();
} else {
$("#count").show();
}
}
然后在您的网页上,您可以查看此内容
<html>
<head>
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
<script src="../js.cookie.js"></script>
</head>
<body>
<button id='clckced'> removeCount</button>
<div id="RemoveCount">
This should be removed.
</div>
<script>
$(function(){
if (Cookies.get('RemoveCount') == 'true' && Cookies.get('RemoveCount') != 'undefined' ){
$("#RemoveCount").hide();
} else {
$("#RemoveCount").show();
}
$('#clckced').click(function(){
Cookies.set('RemoveCount', 'true');
$("#RemoveCount").hide();
})
});
</script>
</body>
</html>
Cookies.remove('RemoveCount');
在用户注销时删除Cookie ...
int position = getIntent().getExtras().getInt("pos");
答案 4 :(得分:0)
我也是这样尝试的
$("#notif").click(function(){
$("#count").remove();
});
我使用会话存储,它存储在客户端幻灯片中
检查此链接:
答案 5 :(得分:-1)
您还可以使用sessionStorage(或localStorage)来记住点击。
每次加载页面时,首先检查存储以检查用户是否单击了。如果是这样,#count将被删除。
当用户点击#notif时,删除#count元素,并将信息保存到存储中,以便下次加载页面时可以再次删除。
sessionStorage将在浏览器窗口或选项卡打开时在本地保存信息。 localStorage将永久保存,直到明确删除。
在这个问题中,您对localStorage,sessionStorage,cookies和session之间的区别进行了很好的讨论:What is the difference between localStorage, sessionStorage, session and cookies?
在您的情况下,我认为最合适的解决方案是sessionStorage(或localStorage,具体取决于您希望信息的持续程度),因为不需要将此信息发送到服务器。
<html>
<head>
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
</head>
<body>
<button id='notif'> removeCount</button>
<div id="count">
This should be removed.
</div>
<script>
window.onload = function() {
if (window.sessionStorage && window.sessionStorage.getItem('removeCount') == 'true' ) {
$("#count").remove();
}
$('#notif').click( function() {
if (window.sessionStorage) {
window.sessionStorage.setItem('removeCount', 'true');
$("#count").remove();
}
});
}
</script>
</body>
</html>