Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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 有没有办法在innerHTML中放置属性?或者在没有jquery的情况下根据下拉列表切换div?_Javascript_Html - Fatal编程技术网

Javascript 有没有办法在innerHTML中放置属性?或者在没有jquery的情况下根据下拉列表切换div?

Javascript 有没有办法在innerHTML中放置属性?或者在没有jquery的情况下根据下拉列表切换div?,javascript,html,Javascript,Html,我正在制作一个chrome扩展/应用程序创建者,我有一个下拉菜单,可以让你选择它制作的chrome是扩展还是应用程序。基于此,它使内部html发生变化。唯一的问题是innerHTML不想接受属性,可能是因为引用。我可以让下拉菜单onchange清除剩余的内容,并创建许多元素和脚本,但是脚本部分可能吗?我想我可以让它显示/隐藏div,但是有没有办法用简单的/no jQuery来做到这一点?我只是用魔杖把它弄得像个样子。这是我的不工作代码 <!DOCTYPE html> <html

我正在制作一个chrome扩展/应用程序创建者,我有一个下拉菜单,可以让你选择它制作的chrome是扩展还是应用程序。基于此,它使内部html发生变化。唯一的问题是innerHTML不想接受属性,可能是因为引用。我可以让下拉菜单onchange清除剩余的内容,并创建许多元素和脚本,但是脚本部分可能吗?我想我可以让它显示/隐藏div,但是有没有办法用简单的/no jQuery来做到这一点?我只是用魔杖把它弄得像个样子。这是我的不工作代码

<!DOCTYPE html>
<html>
<body>
  <h1>Google extension/app maker</h1>
  <form>
    Type:
    <select id="type" onchange="selectType()">
      <option value="1">Extension</option>
      <option value="2">App</option>
    </select>
    <p id="inputs"></p>
  </form>
  <script>
    function selectType() {
      var typevalue = document.getElementById("type").value;
      if (typevalue == 1) {
        document.getElementById("inputs").innerHTML = "Extension name: <input id=" + name + "> Version: <input id=" + version + "> ";
      } else {
        document.getElementById("inputs").innerHTML = "bye";
      }
    }
  </script>
</body>
</html>

谷歌扩展/应用程序制造商
类型:
延伸
应用程序

函数selectType(){ var typevalue=document.getElementById(“type”).value; 如果(类型值==1){ document.getElementById(“输入”).innerHTML=“扩展名:版本:”; }否则{ document.getElementById(“输入”).innerHTML=“bye”; } }

感谢大家的帮助

必须对属性值的双引号进行转义

document.getElementById("inputs").innerHTML = "Extension name: <input id=\"name\"> Version: <input id=\"version\"> ";
document.getElementById(“输入”).innerHTML=“扩展名:版本:”;

请在否决投票前告诉我出了什么问题!尝试转义引号,或对属性使用单引号。这两种方法都应该有效。关于html字符串中的引号,您是对的。只需将其更改为
“扩展名:Version:”
(并且忽略那些失败的投票者。他们不会阻止你得到答案:)这非常有效,@ThomasScheffer!我知道有一种方法可以解锁它,@Archer,但我会确保这个漂亮的新帐户保持良好状态。我做到了,并使用了单引号。当答案让我接受时,我会投票支持它!