简体   繁体   English

从.each循环中将数据追加到div元素中

[英]Append data in a div element from .each loop

I am having a html menu and i want to fetch some information and manipulate it for using somewhere else. 我有一个html菜单,我想获取一些信息并对其进行处理以用于其他地方。

but in each loop i am unable to push data to my respective element. 但是在每个循环中,我无法将数据推送到各自的元素。

Example Fiddle 小提琴的例子

JS JS

 $(document).ready(function () {
         // create a element container
            navDiv = $("#menu");


            $( "#mainnav .leval1" ).each(function() {
                var parent = $(this).children('a').html();
                var child = $(this).next('.navbox').html();
                var menuBlock = "<li><span> " +parent + "</span> " + child + "</li>";

               navDiv += menuBlock;
                console.log(menuBlock);
            });

HTML HTML

<p id="print"></p>

<div id="menu"></div>

       <div id="mainnav">
    <div class="leval1"><a href="">lorem2</a></div>
    <div class="navbox">
        <ul>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
        </ul>
    </div>
    <div class="leval1"><a href="">lorem2</a></div>
    <div class="navbox">
        <ul>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
        </ul>
    </div>
    <div class="leval1"><a href="">lorem2</a></div>
    <div class="navbox">
        <ul>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
        </ul>
    </div>
    <div class="leval1"><a href="">lorem2</a></div>
    <div class="navbox">
        <ul>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
        </ul>
    </div>
    <div class="leval1"><a href="">lorem2</a></div>
    <div class="navbox">
        <ul>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
            <li><a href="">lorem2</a></li>
        </ul>
    </div>
</div>

You need to use .append() nto string concatenation + 您需要使用.append()n连接字符串+

 $(document).ready(function() { var navDiv = $("#menu"); $("#mainnav .leval1").each(function(i) { if (i % 4 == 0) { //fourth iterration do something } var parent = $(this).children('a').html(); var child = $(this).next('.navbox').html(); var menuBlock = "<li><span>p: " + parent + "</span> " + child + "</li>"; $('#print').html(menuBlock); //also the + operator won't work with jQuery object you need to append them navDiv.append(menuBlock); console.log(menuBlock); }); //navDiv.mmenu(); }); 
 #print { border: 1px solid red; } #menu { border: 1px solid green; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <p id="print"></p> <!--Since you are appending `li` elemetns, menu should be a ul--> <ul id="menu"></ul> <div id="mainnav"> <div class="leval1"><a href="">lorem2</a> </div> <div class="navbox"> <ul> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> </ul> </div> <div class="leval1"><a href="">lorem2</a> </div> <div class="navbox"> <ul> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> </ul> </div> <div class="leval1"><a href="">lorem2</a> </div> <div class="navbox"> <ul> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> </ul> </div> <div class="leval1"><a href="">lorem2</a> </div> <div class="navbox"> <ul> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> </ul> </div> <div class="leval1"><a href="">lorem2</a> </div> <div class="navbox"> <ul> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> <li><a href="">lorem2</a> </li> </ul> </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM