javascript - PHP 变量在 JS 中不起作用

标签 javascript php

我有一个 DIV 列表,单击它时应该隐藏顶部 div 以显示下面的文本。

它工作正常,但是如果我尝试使用 PHP 插入 DIV 数字 ID,则会失败。

例如,如果我这样做,它会将其应用到正确的 DIV

<script>
    $('.reveal2').on({
        click: function(){
            $('.remove2').css({display: 'none'});
        $('.code2').css({display: 'block'});
        }
    });
</script>

但是如果我这样做,它就不起作用:

<?php $example = '2'; ?>

<script>
    $('.reveal<?php echo $example ?>').on({
        click: function(){
            $('.remove<?php echo $example ?>').css({display: 'none'});
        $('.code<?php echo $example ?>').css({display: 'block'});
        }
    });
</script>

我在这里创建了工作代码的jsfiddle:http://jsfiddle.net/RGQaU/

我不明白为什么插入 php 变量会让这个不起作用。

非常感谢任何想法。

更新:我在 jQuery 库上使用 defer,关闭 defer 后,上面的工作就完成了。但是我需要推迟jQ,我已经尝试将上面的代码包装在window.onload中,但仍然不起作用。

最佳答案

也许你应该尝试清理你的代码,我会将该值写入 js 变量,如下所示:

<?php $example = '2'; ?>

<script>
    var example = "<?php echo $example ?>";
    $('.reveal'+example).on({
        click: function(){
            $('.remove'+example).css({display: 'none'});
        $('.code'+example).css({display: 'block'});
        }
    });
</script>

那么,为什么你应该总是使用这种方式:

  1. 这样您就可以将问题集中在一处,更易于调试
  2. 您始终可以使用控制台调试来检查 JavaScript 变量中存储的值:示例
  3. 如果您回显以下内容,这些双引号将作为后备: false、null ... 防止可能阻止整个页面 javascript 执行的 js 错误。

关于javascript - PHP 变量在 JS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234321/

相关文章:

javascript - 服务器不可用

javascript - 中间件无法连接 HTTP 服务器

javascript - takeUntil 之后调用最后一个值

javascript - 如何从对象数组中过滤出值?

php - $_POST 不回应查询

php - 检索多行的最后插入的 ID

javascript - 我正在尝试安排我的 html/css/jquery,这样我就可以通过双击它来切换 div 的可见性

php - 为数组的每个值应用一个函数

php - Facebook PHP SDK 报错

PHP session ID 相同但变量丢失