Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON:如何将JSON元素项放在不同的位置_Javascript_Jquery_Json - Fatal编程技术网

Javascript JSON:如何将JSON元素项放在不同的位置

Javascript JSON:如何将JSON元素项放在不同的位置,javascript,jquery,json,Javascript,Jquery,Json,有没有什么简单的方法可以把href的countput端放进去 结果是这样的 (25) 演示 有没有像这样的建议很受欢迎 var listr = "<li> <a href='#' class=\"item\" id=\"{ID}\">{DATA}</a>({COUNT})</li>"; //Code follows strhtml = strhtml.replace(/{COUNT}/, jsonStr[i].count)

有没有什么简单的方法可以把href的
count
put端放进去

结果是这样的
  • (25)
  • 演示

    有没有像这样的建议很受欢迎

       var listr = "<li> <a href='#' class=\"item\" id=\"{ID}\">{DATA}</a>({COUNT})</li>";
    
       //Code follows
        strhtml = strhtml.replace(/{COUNT}/, jsonStr[i].count)
    
    var listr=“
  • ({COUNT})
  • ”; //代码如下 strhtml=strhtml.replace(/{COUNT}/,jsonStr[i].COUNT)
    这表现为:

    <li> <a href="#" class="item" id="4">Moscow</a>(12)</li>
    
  • (12)

  • 就我个人而言,我会对你的函数进行比下面更大的重写,以使格式化你的HTML更容易一些

    下面函数中使用的每个变量都是
    var
    d,我将尽可能多的逻辑移到了循环之外。这应该(希望)使它更容易遵循

    function insertData(NinCol, Colcount) {
        var ul_format = "<ul id=\"{ID}\">{DATA} </ul>", // format of <ul>
            li_format = "<li> <a href='#' class=\"item\" id=\"{ID}\">{NAME}</a>({COUNT})</li>", // format of <li>
            re = /({ID})|({NAME})|({COUNT})/g, // single regex for formatting
            re_function = function (id, name, count) { // generate replace function
                return function (m, mid, mname, mcount) { // replace found item
                    return (mid && id) || (mname && name) || (mcount && count) || '';
                };
            },
            html_str = "", i;
        for (i = lastIndex; i < lastIndex + NinCol; ++i) {
            html_str += li_format.replace( // apply all formatting
                re,
                re_function(i, jsonStr[i].name, jsonStr[i].count)
            );
        }
        html_str = ul_format
            .replace(/{ID}/, Colcount)       // give <ul> it's id
            .replace(/{DATA}/, html_str);    // and add all <li>s
        $('#destinations').append(html_str); // then append
        lastIndex += NinCol;
    }
    
    函数插入数据(NinCol、Colcount){
    var ul_format=“
      {DATA}
    ”,//格式
      li_format=“
    • ({COUNT})
    • ”,//格式为
    • re=/({ID})|({NAME})|({COUNT})/g,//用于格式化的单个正则表达式 re_function=函数(id、名称、计数){//生成替换函数 返回函数(m、mid、mname、mcount){//替换找到的项 返回(中间和id)| | | | | | | | | | | | | | | | | | | | |; }; }, html_str=“”,i; 对于(i=lastIndex;i它的ID .replace(//{DATA}/,html_str);//并添加所有
    • s $('#destinations').append(html_str);//然后append lastIndex+=NinCol; }
    为此更新了小提琴。
    另一种编写
    re
    的方法是
    /{(?(ID)|(NAME)|(COUNT))}/g


    你还需要考虑你的代码很可能会产生一个非唯一ID,这会使你的HTML无效。

    你的问题是什么。PSL刚刚编辑了这个问题,如果你需要更多的细节,请告诉我。对不起,我英语不好这就是你要找的吗?