按数据顺序值查找li并附加内容

时间:2012-05-16 13:24:40

标签: jquery html html-lists replace

如何通过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-order = data['order']过滤后的data并附加{{1}}的内容;

  • 有什么建议吗?

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

1 个答案:

答案 0 :(得分:1)

编辑:看过这篇文章jquery append data to html according to order number


首先,从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/