嗨,我正在php页面上尝试以下代码。由于下面显示的函数openCity()的参数“伦敦”周围的单引号引起了语法错误。
echo '<button class="tablinks" onclick="openCity(event, 'London')">London</button>';
如果我删除涵盖“伦敦”的单引号并在其中添加双引号,则该功能无法正常工作。我没看到什么?有办法解决这个问题吗?
openCity()javacript函数如下所示。
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).
答案 0 :(得分:-1)
您没有在echo语句中的'London'
字符串中转义引号。您需要使用反斜杠(\
)来防止这种情况。
echo '<button class="tablinks" onclick="openCity(event, \'London\')">London</button>';
如果不转义,您的代码将认为字符串在第一个引号处结束。