Javascript JQuery类添加/删除不起作用(未知要使用的委派)

Javascript JQuery类添加/删除不起作用(未知要使用的委派),javascript,php,jquery,session,delegation,Javascript,Php,Jquery,Session,Delegation,我在php代码中运行Javascript/Jquery。它应该做的是当有人进入页面时,检查会话(如果有会话,他们已经登录),如果有会话,它通过更改类将登录按钮变成注销按钮。我已经读到你需要一个代表团,但我不知道该把什么放在会议上检查。以下是会话检查/运行Jquery脚本: <?php if (isset($_SESSION['mysession']) && $_SESSION['mysession'] == true) { echo "<script type

我在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
更改此选项:

echo  "<script type='text/javascript'> $('.btna').addClass('.btnh');
         $('.btna').removeClass('.btna');</script>";
echo“$('.btna').addClass('.btnh');
$('.btna').removeClass('.btna');“;

echo“$('.btna').addClass('btnh');
$('.btna').removeClass('btna');“;

您不需要在类名前面添加点,可能是因为在运行脚本时DOM还没有准备好。请等待就绪事件,然后再运行它:

$( function() {
    //your code here
} )

$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
这应该行得通。如果没有,请使用此选项确保DOM已准备就绪:

<script type='text/javascript'> 
    $(document).ready(function ()
    {
        $('.btna').addClass('btnh');
        $('.btna').removeClass('btna');
    }
</script>

$(文档).ready(函数()
{
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
}

在JQuery语句中,不要在类中使用点(.)

before : $('.btna').addClass('.btnh');
after  : $('.btna').addClass('btnh');
祝你好运。

试试看

 <script>
$(document).ready(function(){
var sessvalue='<?php echo $_SESSION['mysession']; ?>';
if(sessvalue == true) {
        $('.btna').addClass('btnh');
        $('.btna').removeClass('btna');
}

});
</script>

$(文档).ready(函数(){
var sessvalue='';
if(sessvalue==true){
$('.btna').addClass('btnh');
$('.btna').removeClass('btna');
}
});

完全不需要使用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; ?>">


正如我在first read.addClass中看到的那样,有多个错误,没有类的点。为什么需要使用jquery?只需使用php@billyonecan你能详细说明一下吗?我一直试图用php来实现这一点,但没有成功,所以我切换到javascript,然后en到JQuery。只需在标记中添加条件,例如,
,那么如果类不需要点,为什么('.btna')中有点?@PlanetAlexander点仅用于CSS指示符。首先('.btna')用于CSS指示符。
<script type='text/javascript'> 
    $(document).ready(function ()
    {
        $('.btna').addClass('btnh');
        $('.btna').removeClass('btna');
    }
</script>
before : $('.btna').addClass('.btnh');
after  : $('.btna').addClass('btnh');
 <script>
$(document).ready(function(){
var sessvalue='<?php echo $_SESSION['mysession']; ?>';
if(sessvalue == true) {
        $('.btna').addClass('btnh');
        $('.btna').removeClass('btna');
}

});
</script>
<?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; ?>">