0

我是新手,对编程的了解非常有限。我只是使用我从网上找到的任何东西并在它们上过期。让我解释一下我的意思。

我有一个看起来像这样的数据库文本文件。

colh01|colh02|colh03|colh04|colh05|
data11|data12|data13|data14|data15|
data21|data22|data23|data24|data25|
data31|data32|data33|data34|data35|
data41|data42|data43|data44|data45|

现在我使用在网上找到的 javascript 将内容显示到表格中。

<script type="text/javascript">
onload = function () {
    if (!document.getElementById || !document.getElementsByTagName)
        return;
    var frm = null, 
    prenode,
    tbod = document.getElementById('tbod'),
    data = '';
    if ((frm = top.frames['buffer']) //iframe
         && frm.document) { //get <pre> parent
        prenode = frm.document.getElementsByTagName('pre').item(0);
        if (null != prenode
             && null != prenode.firstChild
             && /#text/.test(prenode.firstChild.nodeName)) //text node
        {
            data += prenode.firstChild.data; //read
            data = data.split(/[\n\r]/); //separate lines
            data.splice(0, 0); //lose first two (legend)
            var i = 0,
            l = data.length, rowdata, ii, ll, tr, td;
            for (; i < l; ++i) {
                tr = document.createElement('tr'); //new row
                tbod.appendChild(tr);
                rowdata = data[i].split("|", 6); //separate bits
                for (ii = 0, ll = rowdata.length; ii < ll; ++ii) {
                    td = document.createElement('td'); //new cell
                    td.appendChild(document.createTextNode(rowdata[ii]));
                    tr.appendChild(td);
                }
            }
        }
    }
}

</script>

它工作正常,输出看起来像这样。

colh01  colh02  colh03  colh04  colh05
data11  data12  data13  data14  data15
data21  data22  data23  data24  data25
data31  data32  data33  data34  data35
data41  data42  data43  data44  data45

然后我想插入一列(colh6),它将从第一列获取数据。它应该看起来像这样

colh01  colh02  colh03  colh04  colh05  colh6 (new column)-->(link to file)
data11  data12  data13  data14  data15  'file-<data11>.pdf' -->(href='http://locahost/file-<data11>.pdf')
data21  data22  data23  data24  data25  'file-<data21>.pdf' -->(href='http://locahost/file-<data21>.pdf')
data31  data32  data33  data34  data35  'file-<data31>.pdf' -->(href='http://locahost/file-<data31>.pdf')
data41  data42  data43  data44  data45  'file-<data41>.pdf' -->(href='http://locahost/file-<data41>.pdf')

我该怎么做?数据是用户可以单击以打开文件的超链接。

4

2 回答 2

0

您只需修改此位即可显示链接:

for (; i < l; ++i)
{
    tr = document.createElement('tr'); //new row
    tbod.appendChild(tr);
    rowdata = data[i].split("|",6); //separate bits
    for (ii = 0, ll = rowdata.length; ii < ll; ++ii)
    {
        td = document.createElement('td'); //new cell
        td.appendChild(document.createTextNode(rowdata[ii]));
        tr.appendChild(td);
    }
    td = document.createElement('td') //column 6 cell
    td.appendChild(document.createTextNode('<a href="http://locahost/file-' + rowdata[0] + '.pdf"> Link text here </a>'));
    tr.appendChild(td);
}
于 2012-09-14T04:37:31.763 回答
0

您已经完成了困难的部分,您所缺少的只是如何使用 Javascript 创建链接。如果您只是在循环之后添加这些行,它将使用第一列的内容创建一个链接;

var newlink = document.createElement('a');
newlink.setAttribute('href', 'http://localhost/file-' + rowdata[0] + '.pdf');
newlink.appendChild(document.createTextNode('Link text'));
td = document.createElement('td');
td.appendChild(newlink);
tr.appendChild(td);

有关在此处创建动态链接的更多信息。

于 2012-09-14T04:56:57.923 回答