JQuery类添加/删除不起作用(要使用的未知委派)
JQuery class add/remove not working (unknown delegation to use)
我在php代码中运行Javascript/Jquery。它应该做的是,当有人进入页面时,会检查会话(如果有会话,则表示他们已经登录),如果存在会话,则通过更改类将登录按钮变成注销按钮。我读到你需要一个代表团,但我不确定在会议上应该做些什么。以下是会话检查/运行Jquery脚本:
<?php
if (isset($_SESSION['mysession']) && $_SESSION['mysession'] == true) {
echo "<script type='text/javascript'> $('.btna').addClass('.btnh');
$('.btna').removeClass('.btna');</script>";
}
?>
<!DOCTYPE html>
//html code
"btna"answers"btnf"类是按钮。"btna"是登录名,"btnf"是注销名。这是注销按钮的代码:
<!DOCTYPE html>
<head>
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<button type="submit" name="submit" class="btnh" placeholder="Logout">
Logout
</button>
</body>
我还没有将我的按钮链接到注销表单。问题是,即使设置了会话,登录按钮也不会将类更改为注销按钮。那么简单地说,我将在JQuery中使用什么委派来检查会话,和/或我的JQuery代码是否正确(用分号、撇号等表示)感谢
编辑:不幸的是,到目前为止,这些答案似乎都没有成功——但非常感谢你们的帮助。然而,我认为问题在于我所要求的其他方面。它必须在注销按钮的HTML代码中,或者在CSS中的某个位置。我会继续寻找,但如果你们有什么建议,请发布。
编辑2:如果有什么不同的话,我的注销按钮在另一个页面上,但用CSS链接。下面是我制作的一些新的PHP代码,有人能理解它为什么不起作用吗(它根本没有出现)。这是在我主页的正文部分。
<?php
if (isset($_SESSION['flinders']) && $_SESSION['flinders'] == true) {
echo '<button type="submit" name="submit" class="btna" placeholder="Login">';
echo 'Login';
echo '</button>';
}
else{
echo '<button type="submit" name="submit" class="btnh" placeholder="Logout">';
echo 'Logout';
echo '</button>';
}
?>
在JQuery语句中,不要使用句点(.)作为类。
before : $('.btna').addClass('.btnh');
after : $('.btna').addClass('btnh');
祝你好运。
更改此项:
echo "<script type='text/javascript'> $('.btna').addClass('.btnh');
$('.btna').removeClass('.btna');</script>";
至
echo "<script type='text/javascript'> $('.btna').addClass('btnh');
$('.btna').removeClass('btna');</script>";
您不需要在类名之前添加点
<script type='text/javascript'>
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
</script>
这应该行得通。如果没有,请使用此选项来确保DOM已准备就绪:
<script type='text/javascript'>
$(document).ready(function ()
{
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
}
</script>
尝试
<script>
$(document).ready(function(){
var sessvalue='<?php echo $_SESSION['mysession']; ?>';
if(sessvalue == true) {
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
}
});
</script>
您根本不需要使用JavaScript。只需添加一个条件即可使用PHP设置类。
<?php
$btnClass = (isset($_SESSION['mysession']) && $_SESSION['mysession'] == true)
? 'btnh' // value if above condition evaluates true
: 'btna'; // value if above condition evaluates false
?>
<button type="submit" name="submit" class="<?php echo $btnClass; ?>">
也许在运行脚本时DOM还没有准备好。等待就绪事件后再运行:
$( function() {
//your code here
} )
相关文章:
- 来自文档或下一个静态父级的事件委派
- 对广告服务器的未知信标调用
- Axios spread()具有未知数量的回调参数
- 反汇编的javascript jit代码调用未知函数
- 未知”<#"构造
- Safari 5.1.7下载文件名未知的csv文件
- jQuery中的事件委派,如何进行
- 为什么每次重新渲染父视图时都需要重新委派子视图的事件
- 带有 JavaScript 随机数函数的未知问题
- 哪个原型用于创建具有未知标记的节点
- xmlHttp.responseText未知错误定义
- JavaScript删除未知侦听器
- 未知格式的Procjess JSON
- 为什么我得到错误:$injector:unp未知提供程序
- 什么对性能更好:每个元素的事件或一个具有委派的事件
- 如何对未知表单元素进行表单验证
- jQuery的通配符委派
- 尝试从javascript调用flash方法时出现未知错误
- Angular 1.5组件中的Angular Bootstrap Modal$uibModalInstance未知提供程
- JQuery类添加/删除不起作用(要使用的未知委派)