Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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_Javascript_Html_Css - Fatal编程技术网

将菜单添加到导航栏的Javascript

将菜单添加到导航栏的Javascript,javascript,html,css,Javascript,Html,Css,我从学校得到了以下代码。如何使用javascript在mySidenav中动态添加更多菜单项 CCS组: .sidenav { height: 100%; width: 0; position: fixed; z-index: 1; top: 0; left: 0; background-color: #111; overflow-x: hidden; transition: 0.5s; padding-top: 6

我从学校得到了以下代码。如何使用javascript在mySidenav中动态添加更多菜单项

CCS组:

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}
.sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s
}
.sidenav a:hover, .offcanvas a:focus{
    color: #f1f1f1;
}
.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}
HTML正文:

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Clients</a>
  <a href="#">Contact</a>
</div>


如何将对象xxx添加到mySidenav?

好吧,您需要使用普通的javascript来实现这一点,其他什么都不需要

 var menu= document.getElementById("mySidenav");
    newItem = //create the new item here
 menu.insertBefore(newItem, menu.childNodes[0]);
事情是这样的

  • 首先,使用
    document
    对象的
    getElementById()
    方法定义一个指向侧栏的变量

    var menu = document.getElementById("mySidenav");
    
    var newlink= document.createElement("a"); // In this case it's anchor element. 
    
  • 现在,您可以使用
    document
    对象的
    createElement()
    方法创建一个新元素

    var menu = document.getElementById("mySidenav");
    
    var newlink= document.createElement("a"); // In this case it's anchor element. 
    
  • 现在你可以给你的对象分配各种属性,我这里不告诉你怎么做,你必须搜索

  • 最后,在设置了所需的属性之后,只需将对象附加到菜单中即可

    menu.appendChild(newlink);
    
  • 我希望这对你有帮助!:D


    爱丽丝。

    我测试了这个,似乎很有效:

    var nav=document.getElementById("mySidenav");
    var node = document.createElement("a");
    var textnode = document.createTextNode("newlink");
    node.appendChild(textnode);
    node.setAttribute('href', 'http://www.google.com');
    nav.appendChild(node);
    

    您应该补充一点,这不是普通的解决方案,但它需要jQuery库。