Javascript 有没有办法使用jquery的next和next all表达式获取相应的项

Javascript 有没有办法使用jquery的next和next all表达式获取相应的项,javascript,jquery,Javascript,Jquery,我有一个关于获取正确对应的父项和父子项的模块,因此为了获取每个项和子项,我使用jquery的next和nextAll表达式。我现在就把我的成果和我想要的成果分享给大家 这是我现在的输出(该输出是错误的) 输出应如下所示 我的web应用程序中的输出正如您在我突出显示的项目上看到的,在我的控制台日志中没有子项,但是当我提交按钮时,突出显示的项目会在订购的第一个项目上重复输出 要将该项附加到该列表中,我使用以下代码 $("tr#productClicked").click(function

我有一个关于获取正确对应的父项和父子项的模块,因此为了获取每个项和子项,我使用jquery的next和nextAll表达式。我现在就把我的成果和我想要的成果分享给大家

这是我现在的输出(该输出是错误的)

输出应如下所示

我的web应用程序中的输出正如您在我突出显示的项目上看到的,在我的控制台日志中没有子项,但是当我提交按钮时,突出显示的项目会在订购的第一个项目上重复输出

要将该项附加到该列表中,我使用以下代码

    $("tr#productClicked").click(function () {

      var menu_name = $(this).closest("tr").find(".menu_name").text();
      var menu_price = $(this).closest("tr").find(".menu_price").text();
      var chain_id =  $(this).closest("tr").find(".chain_id").text();
      var menu_image = $(this).closest("tr").find(".menu_image").attr('src');


      swal({
      title: "Are you sure to add " + menu_name + " ?",
      text: "Once you will add it will automatically send to the cart",
      icon: "warning",
      buttons: true,
      dangerMode: true,
    })
    .then((willInsert) => {

      if (willInsert) {
        swal("Successfully Added to your form.", {
          icon: "success",
        });



       if(chain_id == 0) {

           $("tbody#tbody_noun_chaining_order").
              append("<tr class='condimentParent' style='background-color:'black !important',color:'white !important' '><td></td><td>"+menu_name+"</td><td class='total'>"+menu_price+"</td><td><button class='removeorderWithOutCondi btn btn-danger form-control'><i class='far fa-trash-alt'></i></button></td></tr>");

       }
       else
       {
          $.ajax({
            url:'/get_noun_group_combination',
            type:'get',
            data:{chain_id:chain_id},
            success:function(response){

               var noun_chaining = response[0].noun_chaining;

               $("tbody#tbody_noun_chaining_order").
              append("<tr class='condimentParent' style='background-color:'black !important',color:'white !important' '><td></td><td>"+menu_name+"</td><td class='total'>"+menu_price+"</td><td><button class='removeorderWithCondi btn btn-danger form-control'><i class='far fa-trash-alt'></i></button></td></tr>");

               $.each(noun_chaining, function (index, el) {

                var stringify_noun_chaining = jQuery.parseJSON(JSON.stringify(el));

                // console.log(stringify['menu_cat_image']);
                var Qty = stringify_noun_chaining['Qty'];
                var Condiments = stringify_noun_chaining['Condiments'];
                var Price = stringify_noun_chaining['Price'];
                var allow_to_open_condiments = stringify_noun_chaining['allow_to_open_condiments'];

                var condiments_section_id = stringify_noun_chaining['condiments_section_id'];


                $("tbody#tbody_noun_chaining_order").
                append("<tr class='editCondiments'>\
                <td class='condiments_order_quantity'>"+Qty+"</td>\
                <td>*"+Condiments+"</td><td class='total'>"+Price+"</td>\
                <td class='allow_to_open_condiments_conditional' style='display:none;'>"+allow_to_open_condiments+"</td>\
                <td class='condi_section_id' style='display:none;'>"+condiments_section_id+"</td>\
                </tr>");


              })

            },
            error:function(response){
              console.log(response);
            }
          });
       }

    }
  });

为了解决我的问题,我使用了多个add

    $('button#add_to_cart').on('click',function () {

    var customer_id = $('#hidden_customer_id').val();

      $parent = $(this).closest("tr.condimentParent");

      var condiments= $('#noun_chaining_order').find('tr.editCondiments');
      var menu= $('#noun_chaining_order').find('tr.condimentParent');

          menu.next('.condimentParent').add(menu).add(condiments).each(function(){

              var $tds_menu = $(this).find("td");

              Qty_menu = $tds_menu.eq(0).text(),
              Item_menu = $tds_menu.eq(1).text(),
              Price_menu = $tds_menu.eq(2).text();

              console.log(Item_menu);



              //   condiments.nextAll('.editCondiments').add(condiments).each(function(){

              //     var $tds_condiments = $(this).find("td");
              //     Qty_condiments = $tds_condiments.eq(0).text(),
              //     Item_condiments = $tds_condiments.eq(1).text(),
              //     Price_condiments = $tds_condiments.eq(2).text();

              //     console.log(Item_condiments);


              // });

          });



});

需要的HTML以及你可以请张贴你的代码作为一个整体?如果HTML是动态生成的,则在生成后按原样发布HTML,并将其标记为原样。确定@zer00ne我将向您显示我在列表中的附加顺序。@zer00ne post updated所以大CRUNCH Box中没有项目?是的,@zer00ne项目有一个孩子是$5.00额外Crispy 2件盒
    $('button#add_to_cart').on('click',function () {

    var customer_id = $('#hidden_customer_id').val();

      $parent = $(this).closest("tr.condimentParent");

      var condiments= $('#noun_chaining_order').find('tr.editCondiments');
      var menu= $('#noun_chaining_order').find('tr.condimentParent');

          menu.next('.condimentParent').add(menu).add(condiments).each(function(){

              var $tds_menu = $(this).find("td");

              Qty_menu = $tds_menu.eq(0).text(),
              Item_menu = $tds_menu.eq(1).text(),
              Price_menu = $tds_menu.eq(2).text();

              console.log(Item_menu);



              //   condiments.nextAll('.editCondiments').add(condiments).each(function(){

              //     var $tds_condiments = $(this).find("td");
              //     Qty_condiments = $tds_condiments.eq(0).text(),
              //     Item_condiments = $tds_condiments.eq(1).text(),
              //     Price_condiments = $tds_condiments.eq(2).text();

              //     console.log(Item_condiments);


              // });

          });



});