javascript - .CSV 文件数组到 CSS 元素

标签 javascript jquery html csv

我想知道如何获取 CSV 文件(包含元素 url、描述、图像 url)并将其解析为数组数组。那么如何在javascript中循环遍历数组的数组并获取每个元素并将其变成一个对象(div类)。该对象将显示在 html 页面上,并包含链接、文本描述和显示的图像。

(抱歉,我是新手!)

最佳答案

与 welegan 上面所说的关于提出具体问题的内容相同。

这是一个完整的示例,不需要 jQuery 或 CSV 插件。 这比使用 jQuery 更冗长,但没有什么神奇之处,所以希望您能更好地遵循逻辑。

数据文件是movies.csv:

The Matrix,8.7,http://www.imdb.com/title/tt0133093/
Star Wars,8.9,http://www.imdb.com/title/tt0076759/

代码:

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Load CSV, Parse CSV, Make HTML, Add to DOM  - Demo</title>
<script>

// immediately invoked function expression - aka "Iffy"
(function(){
    "use strict";

    window.onload = loadCSV;
    var myArray = [];
    var FILE_NAME = "movies.csv";

    function loadCSV(){

        // declare all our variables at the top
        var bigString, lines, tempArray, tempObject, xhr;

        // XHR can load local files easily - no jQuery needed!
        xhr = new XMLHttpRequest();

        // set up callback function for when file is loaded
        xhr.onload = function(e){
             bigString = e.target.responseText;  // or bigString = xhr.responseText
             // array.split() string on carriage return to create an array of records
             lines = bigString.split("\n");

             // loop through records and split each on commas
             lines.forEach(function(line){
                tempArray = line.split(",");
                tempObject = {};
                tempObject.title = tempArray[0];
                tempObject.rating = tempArray[1];
                tempObject.link = tempArray[2];
                myArray.push(tempObject);
             });

            // check out your array of "movie" objects!
            console.log(myArray);
            displayLinks(myArray);

        }

        //xhr.open(method, path, asynch);
        xhr.open("GET", FILE_NAME, true);
        xhr.send();

    };

    function displayLinks(array){
        var html = '<ul>';
        array.forEach(function(o){
            html += '<li>';
            html += '<a href="';
            html += o.link;
            html += '">';
            html += o.title;
            html += ' - rating = ';
            html += o.rating;
            html += '</a>';
            html += '</li>';

        });
        html += '</ul>';


        document.body.innerHTML = html;
    }


}());

</script>
</head>
<body>

</body>
</html>

关于javascript - .CSV 文件数组到 CSS 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097111/

相关文章:

javascript - 如何选中和取消选中 div 内的所有复选框

javascript - 寻找从自动完成键发送用户指定值的表单示例

javascript - 如何风格化警告框中的文本?

javascript - 循环数据时如何使用多个回调

javascript - 如何像时尚一样以 commonJS 方式扩展对象?

javascript - Bootstrap - 弹出窗口内的弹出窗口

javascript - Jquery 导航栏无法正常工作

html - 有没有办法使用 Selenium/WebDriver 提取 html 评论?

javascript - 选择标签默认选择空白项

javascript - 如何使 Javascript 类属性不可访问?