在JavaScript中使用图像作为CSV数据的链接

pqwbnv8z  于 2023-02-01  发布在  Java
关注(0)|答案(1)|浏览(191)

如果这是显而易见的,请提前道歉-我是js新手,正在为一个特定的项目学习它。
我正在开发一个信息数据库,它需要1)在网页上显示为表格,2)能够由非编码人员通过将csv文件放入文件夹中进行更新。我已经得到了要显示的图像,我可以得到工作链接,但不能组合。
这是我试图将它们结合起来的版本--我希望在csv的单元格中分离url可以让它读作两个不同的链接,但是它忽略了非图片链接。

function format_link(link) {
            if (link)
                return "<a href='" + link + "' target='_blank'>" + "<img src='" + link + "' >" + "</a>";
            else return "";
        }

        CsvToHtmlTable.init({
            csv_path: "data/data.csv",
            element: "table-container",
            allow_download: false,
            csv_options: {
                separator: ",",
                delimiter: '"'
            },
            datatables_options: {
                paging: false
            },
            custom_formatting: [
                [0, format_link]
            ]
        });

以下是原文:

function format_link(link) {
            if (link)
                return "<a href='" + link + "' target='_blank'>" + link + "</a>";
            else return "";
        }
        

        CsvToHtmlTable.init({
            csv_path: "data/data.csv",
            element: "table-container",
            allow_download: false,
            csv_options: {
                separator: ",",
                delimiter: '"'
            },
            datatables_options: {
                paging: false
            },
            custom_formatting: [
                [0, format_link]
            ]
        });

任何指示将不胜感激!

vc6uscn9

vc6uscn91#

我注意到的第一个错误是链接的格式。在HTML属性中总是使用双引号。例如<a href="your/url/here">A random link</a>
在上面的aimg标记中,我注意到您使用了单引号,而您应该使用双引号。
尝试以下方法,如果有任何结果,请告诉我:

function format_link(link) {
    if (link)
        return '<a href="' + link + '" target="_blank">' + link + '</a>';
    else return "";
}
// OR
function format_link(link) {
    if (link)
        return '<a href="' + link + '" target="_blank"><img src="' + link + '" ></a>';
    else return "";
}

同样因为它与这里相关,CsvToHtmlTable.init调用是自定义代码还是第三方库?我不熟悉所有500万个JS库,所以我需要熟悉它

相关问题