将名称文件(作为变量)分配给html元素

时间:2017-11-21 00:28:58

标签: javascript html

我开始使用Javascript进行冒险。我陷入了代码的一部分。我想将文件名的赋值更改为html元素中的src属性。我在外部函数中创建文件名,然后将其传递给函数设置new src属性。我不明白为什么它不起作用。当我指定一个确切的文件时,它可以工作有人可以向我解释一下吗? 以下是代码:

index.html

<html>

<head>

<script type="text/javascript" src="navContent.js"></script>

</head>

<body>
  <nav>
   <ul>
    <li>
     <a href="#newFile" onclick="showDescriprion('newFile')">newFile</a>
    </li>
   </ul>
  </nav>

<p id="demo"></p>

<section class="description">
 <h2 id="nevTitle"></h2>
 <script id="nevDescript" src=none></script>
</section>

</body>

</html>

navContent.js

function showDescriprion(chosenNav){

  var idDescript = document.getElementById("nevDescript");

  document.getElementById("nevTitle").innerHTML=chosenNav;

  idDescript.setAttribute("src", chosenNav.toLowerCase().concat(".js"));

  //checking
  document.getElementById("demo").innerHTML=idDescript.getAttribute("src");
}

newfile.js

document.write(
 <dl>\
  <dt>Uni</dt>\
   <dd>Des</dd>\
 </dl>);

问题在于:<script id="nevDescript" src=none></script>。当我写src="newfile.js"时,它有效。我想避免做切换案例。这就是我正在做function showDescriprion(chosenNav)

的原因

1 个答案:

答案 0 :(得分:1)

您要做的是 动态添加新脚本 ,尝试搜索有关它的更多信息。您可以从这里开始 - https://www.danielcrabtree.com/blog/25/gotchas-with-dynamically-adding-script-tags-to-html - 您会发现一些提示以及 document.write 调用在这种情况下无法工作的警告(同样,您忘记使用引号) 。您还可以在Loading scripts after page load?查看上一个问题,@ Nicolas Bouvrette和@Johannes H.发布的答案将不需要使用任何其他库。