将表名传递给Javascript文档获取元素ID函数

时间:2019-07-18 17:54:50

标签: javascript html

我希望能够创建按钮以隐藏或显示我的网页上的表格,而不是为每个仅要创建一个表格的表创建一个新函数,其参数名称将是表。 该函数可以正常运行,但我不传递参数,也不对解决方案进行硬编码,但是当我尝试传递字符串即停止工作时,该函数便会失效。

我尝试创建一个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名称调用该函数,而不是对其进行硬编码,但是根本不会调用该函数。我觉得我在犯一个简单的错误。

3 个答案:

答案 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">';