Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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
Javascript 有人能帮我解决这个语法错误吗?_Javascript_Php_Syntax - Fatal编程技术网

Javascript 有人能帮我解决这个语法错误吗?

Javascript 有人能帮我解决这个语法错误吗?,javascript,php,syntax,Javascript,Php,Syntax,嗨,我正在php页面上尝试下面的代码。由于函数openCity()的参数“London”周围有单引号,所以我一直遇到语法错误,如下所示 echo '<button class="tablinks" onclick="openCity(event, 'London')">London</button>'; function openCity(evt, cityName) { var i, tabcontent, tablinks; tabcontent = doc

嗨,我正在php页面上尝试下面的代码。由于函数openCity()的参数“London”周围有单引号,所以我一直遇到语法错误,如下所示

echo '<button class="tablinks" onclick="openCity(event, 'London')">London</button>';
function openCity(evt, cityName) {
  var i, tabcontent, tablinks;
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
'''


What I am trying to do is when a user clicks the button, it shows a block of elements (Like a tabs).
echo“伦敦”;
如果我删除包含“London”的单引号,并在其中添加双引号,则该函数将无法按预期工作。我没有看到什么?有办法解决这个问题吗

openCity()JavaScript函数如下所示

echo '<button class="tablinks" onclick="openCity(event, 'London')">London</button>';
function openCity(evt, cityName) {
  var i, tabcontent, tablinks;
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
'''


What I am trying to do is when a user clicks the button, it shows a block of elements (Like a tabs).
函数openCity(evt,cityName){
var i,tabcontent,tablinks;
tabcontent=document.getElementsByClassName(“tabcontent”);
对于(i=0;i
您没有在echo语句中转义
'London'
字符串中的引号。您需要使用反斜杠(
\
)来防止这种情况

echo '<button class="tablinks" onclick="openCity(event, \'London\')">London</button>';
echo“伦敦”;

如果没有转义,代码将认为字符串在第一个引号处结束。

单引号内的双引号内的单引号。您必须转义内部引号。是的,我可以通过转义内部引号来修复它。