我希望能够创建按钮以隐藏或显示我的网页上的表格,而不是为每个仅要创建一个表格的表创建一个新函数,其参数名称将是表。 该函数可以正常运行,但我不传递参数,也不对解决方案进行硬编码,但是当我尝试传递字符串即停止工作时,该函数便会失效。
我尝试创建一个PHP变量并将其传递,但是所有这些都会破坏代码。似乎根本没有调用该函数,因为当我包含一个警报函数时,它没有被调用。
工作代码
echo "<button onclick='myFunction()'>View La Liga</button>
<div id='myDIV' style='display:none'>";
....
<script type="text/javascript">
function myFunction() {
var x = document.getElementById("myDIV");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>
代码破损
echo "<button onclick='myFunction('myDIV')'>View La Liga</button>
<div id='myDIV' style='display:none'>";
....
<script type="text/javascript">
function myFunction(y) {
var x = document.getElementById(y);
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>
这应该允许我仅使用div名称调用该函数,而不是对其进行硬编码,但是根本不会调用该函数。我觉得我在犯一个简单的错误。
答案 0 :(得分:1)
由于这里的string
,您两次使用相同类型的引号:
'myFunction('myDIV')'
更改代码,在参数中将'
替换为"
。
像这样:
<button onclick='myFunction(\'myDIV\')'>View La Liga</button>
<div id='myDIV' style='display:none'>
答案 1 :(得分:1)
您需要在PHP回声调用中转义ID周围的引号
echo "<button onclick='myFunction(\'myDIV\')'>View La Liga</button>
<div id='myDIV' style='display:none'>";
答案 2 :(得分:1)
您应该使用引号将其转义,
echo '<button onclick="myFunction(\'myDIV\')">View La Liga</button>
<div id="myDIV" style="display:none">';