我可以在Document.write()中调用函数()吗?

时间:2019-04-04 19:22:41

标签: javascript

我正在尝试通过使用DOM Write将我的Navbar写入javascript文件中来将我的Navbar放在javascript文件中,以确保我的应用程序是DRY(不要重复自己)。但问题是没有执行函数调用。

我尝试在函数调用周围使用单引号,如代码所示。

Navbar.js

 document.write("<div class='w3-bar w3-light-grey'>"+ "<a href='#' class='w3-bar-item w3-button'>Home</a>"+"<div class='w3-dropdown-hover'>"+"<button class='w3-button'>Cities</button>"+"<div class='w3-dropdown-content w3-bar-block w3-card-4'>"+"<a href='#' class='w3-bar-item w3-button' onclick='myFunction('Auckland')'>Auckland</a>"+
"<a href='#' class='w3-bar-item w3-button' onclick='myFunction('Christchurch')'>Christchurch</a>"+"<a href='#' class='w3-bar-item w3-button' onclick='myFunction('Hamilton')'>Hamilton</a>"+ "</div>"+"</div>"+ "</div>");

Cities.html

<!DOCTYPE html>
 <html>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
    <body>
         <script scr="includes/Navbar.js"></script>
         <script>
               function myFunction(id) {
                  if(id == 'Auckland'){
                      document.write("<h1>Auckland</h1>");
                  }else if(id == 'Auckland'){
                      document.write("<h1>Christchurch</h1>");
                  }else {
                      document.write("<h1>Hamilton</h1>");
                  }
                }
          </script>
    </body>
</html> 

当我单击下拉列表项之一时,该函数将采用传入的文本并尝试将其与id匹配,然后使用DOM在h1 tages中写入城市名称。 (在html页面上创建内容)

1 个答案:

答案 0 :(得分:0)

您可以在document.write();中调用一个函数。 示例:

document.write(document.getElementById("id").innerHTML);