使用 javascript 将表格单元格中的文本制作到 URL

Make text in table cell to urls using javascript

本文关键字:文本 URL javascript 表格 单元格 使用      更新时间:2023-09-26

>我有一些表格,如果它们以http开头,我正在尝试将表格单元格中的内容作为url。我尝试过的代码如下。问题是:它正在成为一个超链接而不是网址。(例如:如果表格单元格内容是 https://www.google.com 的文本,则它变成的最终链接是 "https://myapplicationlink/www.google.com" .我不知道为什么。请帮忙。

 var tables=document.getElementsByTagName("TABLE");
 for (x=0;x<tables.length;x++)
{
 var rows=tables[x].getElementsByTagName('TR');
 for (i=0; i<rows.length; i++) 
  {
    var cells=rows[i].getElementsByTagName('td');
    for (z=0;z<cells.length;z++)
    {

 //code for styling etc which i removed
 var hyp;var c;
      c=cells[z].innerHTML;
     if (c.indexOf("http") >= 0) {
         hyp="<a href=" + cells[z].innerHTML  +"</a>";
      c=hyp;
   cells[z].innerHTML = c;
}

 }

  }
 }

好吧,你正在为一个人插入无效的 HTML。这一行:

hyp="<a href=" + cells[z].innerHTML  +"</a>";

实际上应该是:

hyp='<a href="' + cells[z].innerHTML  + '">' + cells[z].innerHTML + '</a>';

不知道为什么你会得到你所描述的错误,但你没有在你的代码中关闭你的 href 标签......

hyp="<a href=" + cells[z].innerHTML  +"</a>";

应该是

hyp="<a href='"" + cells[z].innerHTML  +"'">some text here</a>";

此外,与其将 href 绘制到单元格中,不如将单元格转换为可单击的单元格,如下所示

 var hyp;var c;
  c=cells[z].innerHTML;
 if (c.indexOf("http") >= 0)          
   cells[z].onclick = (function(url){self.location.href = url})(c);