在父div元素中获取子数组值

时间:2019-04-16 04:45:35

标签: javascript jquery html arrays

我有一个像这样的数组

products = [{id}, {id}, {id}, {id}]

我想在父div中放置可用的ID

<div data-ids="{{ place ids here }}"> <!-- parent div -->
     products.forEach(function(e){
        <div class="product">
            console.log(e.id);
        </div>
     });
</div>

我想将所有可用的ID放在父数据ID中,

有没有没有专门用于在父div中放置ID的附加循环的方法?

2 个答案:

答案 0 :(得分:2)

您可以按照以下方式尝试使用map().data()

var products = [{id: 1},{id: 2},{id: 3},{id: 4}];
var ids = products.map(i => i.id).join(',');
$('.product').parents().data('ids',ids);
console.log($('.product').parents().data());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-ids=""> <!-- parent div -->
  Test
  <div class="product">
  </div>
</div>

答案 1 :(得分:0)

var products = [{ id:1 },{ id:2 },{id:3},{id:4}];

    var prod_len=products.length;
    for(let i=0;i<prod_len;i++){
       var div_id=create_html(products[i]['id'])
       $(document).find('.prod_data').append(div_id)
    }

     function create_html(id){
           return `<div data-ids=${id}>
            Product Data ${id}
      		<div class="product">
      		</div>
    	  </div>`
    }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="prod_data"></div>