我想使用我在jade文件中的JS脚本中定义的变量。那可能吗 ?
要清楚,这就是我要做的事情:
script.
var J1 = 0;
var socket = io.connect('http://localhost:3000');
socket.on('positionJ1', function(positionJ1) {
J1 = positionJ1;
})
p Le joueur 1 est en case #{J1}
编辑: 要尝试使用DOM的方法,我已经做到了,但我没有收到任何提醒。 内部HTML方法并不起作用,因为当我做文件时.body.innerHTML =" Something&#34 ;;效果很好。
script.
var J = document.getElementById("posJ1").innerHTML;
alert(J);
p#posJ1 Plop
更正:当我的p#posJ1高于脚本
时,它可以正常工作解决方案:
p#posJ1
script.
var socket = io.connect('http://localhost:3000');
socket.on('positionJ1', function(positionJ1) {
var J1 = document.getElementById("posJ1");
J1.innerHTML = "Le joueur 1 est en case " + positionJ1;
document.body.appendChild(J1);
})
答案 0 :(得分:0)
这实际上是不可能的。在将Jade提供给客户端之前,它将呈现为静态HTML。您放入的任何变量都只在渲染时解析。
你将不得不使用javascript来做任何像这样的运行时DOM操作。
script. var J1 = 0; var socket = io.connect('http://localhost:3000'); socket.on('positionJ1', function(positionJ1) { J1 = positionJ1; document.getElementById('position').innerHTML= J1; }) p Le joueur 1 est en case span#position