Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP变量在javascript中设置链接名称_Javascript_Php_Html - Fatal编程技术网

使用PHP变量在javascript中设置链接名称

使用PHP变量在javascript中设置链接名称,javascript,php,html,Javascript,Php,Html,我试图做的是加载一个页面,将一个PHP变量放入JavaScript,并将我的元素(链接)设置为所述变量。然后,当你点击链接时,我希望它从打开或关闭变为关闭或打开。出于某种原因,我所看到的其他解决方案似乎不起作用。以下代码似乎有什么问题?我有点困惑,为什么这不起作用 <script type="text/javascript"> var state = "<?php echo $var; ?>"; document.getElementById('open').text

我试图做的是加载一个页面,将一个PHP变量放入JavaScript,并将我的元素(链接)设置为所述变量。然后,当你点击链接时,我希望它从打开或关闭变为关闭或打开。出于某种原因,我所看到的其他解决方案似乎不起作用。以下代码似乎有什么问题?我有点困惑,为什么这不起作用

<script type="text/javascript">
var state =  "<?php echo $var; ?>";
document.getElementById('open').text = state;
function toggleText(button_id) 
{
   if (document.getElementById('button_id').text == "Open") 
   {
       document.getElementById('button_id').text = "Close";
   }
   else 
   {
     document.getElementById('button_id').text = "Open";
   }
}
</script>
<a id="open" onclick="toggleText('open')" href="#"></a>

var state=“”;
document.getElementById('open')。text=state;
功能切换文本(按钮id)
{
if(document.getElementById('button_id')。text==“Open”)
{
document.getElementById('button_id')。text=“Close”;
}
其他的
{
document.getElementById('button_id')。text=“打开”;
}
}
非常感谢,这是我项目的最后一站,由于某种原因,无论我尝试什么都无法成功

注意:
我也尝试过代替
.text
.innerHTML
,但它也不起作用。

尝试调用
文档.getElementById('open')。innerText=state打开<代码>窗口。加载

window.onload=function(){
     document.getElementById('open').innerText= state;
}
问题可能是,当您尝试设置文本属性时,dom未准备就绪(页面未完全加载)


<script type="text/javascript">
document.getElementById('buttonid').innerHTML = "<?php echo $var; ?>";
function toggleText(button) 
{
   if (button.innerHTML == "Open") 
   {
       button.innerHTML = "Close";
   }
   else 
   {
     button.innerHTML = "Open";
   }
}
</script>
<a id="buttonid" onclick="toggleText(this)" href="#"></a>
document.getElementById('buttonid')。innerHTML=“”; 功能切换文本(按钮) { 如果(button.innerHTML==“打开”) { button.innerHTML=“关闭”; } 其他的 { button.innerHTML=“打开”; } }
将脚本放在
标记之后

尝试以下操作:

并将脚本放在关闭标签的前面。

您检查控制台了吗?它总是开始的地方

问题的一部分在于,在单引号中有
按钮id
。我假设
button\u id
是一个变量名,不应该用引号括起来。此外,您应该使用
innerHTML
而不是
text

这应该起作用:

<script type=.innerHTML/javascript">
var state =  "<?php echo $var; ?>";
document.getElementById('open').innerHTML = state;
function toggleText(button_id) 
{
   if (document.getElementById(button_id).innerHTML == "Open") 
   {
       document.getElementById(button_id).innerHTML = "Close";
   }
   else 
   {
     document.getElementById(button_id).innerHTML = "Open";
   }
}
</script>
<a id="open" onclick="toggleText('open')" href="#"></a>

在dom准备就绪之前脚本正在运行,请使用onload事件或将脚本放在正文末尾。它的
innerText
innerHTML
textContent
也不是
text