0

我怎样才能找到li我需要的值data-order

该列表包含在:

var list = '
    <ul id="order_list"> <h3> Order: </h3>
       <li data-order="1"></li>
       <li data-order="2"></li>
       <li data-order="3"></li>
       <li data-order="4"></li>
       <li data-order="5"></li>
       <li data-order="6"></li>
     </ul>';

我有一个名为 data 的对象,我通过 ajax 调用检索了该对象。订单值包含在这里,这就是我想要实现的

$.each(data, function(index, value) {
   // append data['title'] between <li ...> </li>
   // where data-order in <li> is data['order']
});

所以我需要找到li按=var list过滤的内容并附加内容;data-orderdata['order']data

  • 有什么建议么?

我的其他帖子与此相关:jquery append data to html based on order number

4

1 回答 1

1

编辑:在看到这篇文章jquery 根据订单号将数据附加到 html之后


首先,h3取出您的ul.

其次,在开始使用选择器来操作和附加数据之前,请确保您list在 DOM 中。

第三,不要像这样在 JS 中的字符串中使用换行符。如果您需要多行,请使用串联:

var list = '<h3> Order: </h3>' + 
    '<ul id="order_list">' + 
       '<li data-order="1">No featured news here, click to add</li>' + 
       '<li data-order="2">No featured news here, click to add</li>' + 
       '<li data-order="3">No featured news here, click to add</li>' + 
       '<li data-order="4">No featured news here, click to add</li>' +
       '<li data-order="5">No featured news here, click to add</li>' +
       '<li data-order="6">No featured news here, click to add</li>' +
     '</ul>';

var data = [
    {
        id_news: 3,
        title: 'Alex...',
        category: 12,
        order: 1
    },
    {
        id_news: 12345,
        title: 'Obama...',
        category: 3,
        order: 3
    },
];

$(list).appendTo('body');

$.each(data, function(index, value) {
    $('#order_list li:eq(' + value['order'] + ')').html(value['title']);
});​

演示:http: //jsfiddle.net/aKcxW/

于 2012-05-16T13:28:23.917 回答