传递一个PHP变量到jQuery的

问题描述:

可能重复:
How to access PHP variables in JavaScript or jQuery rather than <?php echo $variable ?>传递一个PHP变量到jQuery的

这可能已被覆盖,但我不知道是否有可能一个PHP变量传递给jQuery选择。

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

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

虽然已经涵盖此问题:http://*.com/questions/1808108/how-to-access-php-variables-in-javascript-or-jquery-rather-than-php-echo-vari –

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

值得一提的文件名所需的PHP扩展名? – Undefined

+2

好处是,你不能在.js文件中做到这一点(除非你将.js设置为PHP解释文件)。这需要位于.PHP文件中。 –

<?php $tDate = "varXYZ";?> 
    $('$<?php echo $tDate; ?>').backstretch([ 
     "pot-holder.jpg", 
     "coffee.jpg", 
     "dome.jpg" 
    ], { 
     fade: 750, 
     duration: 4000 
    }); 

我会建议保持你的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阻止不可读的错误。