Javascript 如何通过单击按钮在html div中间打印/附加值?

Javascript 如何通过单击按钮在html div中间打印/附加值?,javascript,jquery,html,css,navbar,Javascript,Jquery,Html,Css,Navbar,在显示div选项卡内容的带有onclick功能的nav菜单上,我想传递一个附加值以加载特定内容。这是当前代码: <ul class="tab"> <li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'London', 'capital')">London</a></li> <li><a href="javascri

在显示div选项卡内容的带有onclick功能的nav菜单上,我想传递一个附加值以加载特定内容。这是当前代码:

<ul class="tab">
  <li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'London', 'capital')">London</a></li>
  <li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'Paris', 'France')">Paris</a></li>
  <li><a href="javascript:void(0)" class="tablinks" onclick="openCity(event, 'Tokyo', 'Japan')">Tokyo</a></li>
</ul>

<div id="London" class="tabcontent">
  <h3>London</h3>
  <p>London is the <script>document.write(ThirdValue)</script> city of England.</p>
</div>

<div id="Paris" class="tabcontent">
  <h3>Paris</h3>
  <p>Paris is the capital of <script>document.write(ThirdValue)</script>.</p>
</div>

<div id="Tokyo" class="tabcontent">
  <h3>Tokyo</h3>
  <p>Tokyo is the capital of <script>document.write(ThirdValue)</script>.</p>
</div>
这是Javascript:

function openCity(evt, cityName, ThirdValue) {
  // Declare all variables
  var i, tabcontent, tablinks;

  // Get all elements with class="tabcontent" and hide them
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
   }

  // Get all elements with class="tablinks" and remove the class "active"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the link that opened the tab
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";

  alert(ThirdValue);
}
我无法获取div中的第三个变量。我可以使用alertThirdValue查看它;,但是使用document.writeThirdValue,我无法在html中添加它

我需要在html中添加这个值。如何在html中打印/附加此值?

您不应该使用document.write,因为它只在加载DOM时工作,而在DOM准备就绪后就不工作了

相反,在html中放置一个占位符,例如:伦敦是英格兰的{var}城市。

,并将其替换为第三个值。以下是如何:

var text = document.getElementById(cityName).querySelector('p');
text.innerHTML = text.innerHTML.replace('{var}',ThirdValue);
完整代码:

函数openCityevt,cityName,ThirdValue{ //声明所有变量 var i,tabcontent,tablinks; //获取class=tabcontent的所有元素并隐藏它们 tabcontent=document.getElementsByClassNametabcontent; 对于i=0;i 巴黎 巴黎是{var}的首都

东京 东京是{var}的首都


太好了,这个很好用。正是我需要的。谢谢