0

可能重复:
如何在 JavaScript 或 jQuery 中访问 PHP 变量,而不是 <?php echo $variable ?>

这可能已经被覆盖,但我想知道是否可以将 php 变量传递给 jQuery 选择器。

我有一个名为 $tDate 的变量,我希望能够在这段代码中使用它:

$('$tDate').backstretch([
          "pot-holder.jpg",
          "coffee.jpg",
          "dome.jpg"
        ], {
            fade: 750,
            duration: 4000
        });
4

3 回答 3

3

我建议尽可能将您的 javascript 保存在单独的 .js 文件中。但是您可以在 php 生成的 html 中设置 javascript 变量,如下所示:

<html>
  <head>
    <title>PHP variables to Javascript</title>
    <script type="text/javascript">
    var myVar = <?php echo $myVar; ?>;
    </script>
    <!-- you can use that variable in your .js files 
         that are loaded after setting the variable -->
    <script src="/javascripts/myjavascript.js"></script>

  </head>
  <body>
    <h1>Passing php variables to javascript</h1>
  </body>
  </html>

您的 javascript 可以像这样使用该变量:

// I assume myVar is a string
$(myVar).backstretch
...

对我来说,这样看起来又好又整洁。我不喜欢将我的客户端代码与服务器端代码混为一谈。而且,如果您将来在某个地方弄乱了 PHP 变量,您可以很容易地检测到它,因为它会在变量上抛出异常,而不是 jQuery 抛出不可读的错误。

于 2012-10-03T09:12:10.807 回答
2
$('<?PHP echo $tDate; ?>').backstretch([
      "pot-holder.jpg",
      "coffee.jpg",
      "dome.jpg"
    ], {
        fade: 750,
        duration: 4000
    });
于 2012-10-03T08:39:49.657 回答
0
    <?php $tDate = "varXYZ";?>
    $('$<?php echo $tDate; ?>').backstretch([
      "pot-holder.jpg",
      "coffee.jpg",
      "dome.jpg"
    ], {
        fade: 750,
        duration: 4000
    });
于 2012-10-03T08:41:37.263 回答