Отлаживая ваш код, я обнаружил, что rowData может быть пустым и представляет собой массив.
Внутри этого массива у вас есть несколько различных значений. Сам массив может быть пустым, содержать только значения, отличные от URL, или содержать URL.
Сначала я должен убедиться, что вы правильно получаете данные из rowData.
Затем в вашем методе drawCell Узнайте, является ли значение ссылкой, выяснив, начинается ли оно с http / s.
Чтобы создать элемент привязки, выполните следующие действия:
let anchorElement = document.createElement("a");
anchorElement.setAttribute("href", YOUR_LINK);
td.append(anchorElement);
EDIT
В последнем комментарии OP я добавляю запрошенный код.
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
var spData = null;
function doData(json) {
spData = json.feed.entry;
}
function drawCell(tr, val) {
var td = $("<td/>");
tr.append(td); //CODE ADDED HERE
if (val.indexOf("http") !== -1) {
let anchorElement = document.createElement("a");
anchorElement.setAttribute("href", val);
anchorElement.innerHTML = "Link";
td.append(anchorElement);
} else {
td.append(val);
}
return td;
}
function drawRow(table, rowData) {
if (rowData == null) return null;
if (rowData.length == 0) return null;
var tr = $("<tr/>");
table.append(tr);
for(var c=0; c<2; c++) {
drawCell(tr, rowData[c]);
}
return tr;
}
function drawTable(parent) {
var table = $("<table/>");
parent.append(table);
return table;
}
function readData(parent) {
var data = spData;
var table = drawTable(parent);
var rowData = [];
for(var r=0; r<data.length; r++) {
var cell = data[r]["gs$cell"];
var val = cell["$t"];
if (cell.col <= 1) {
drawRow(table, rowData);
rowData = [];
}
rowData.push(val);
}
drawRow(table, rowData);
}
$(document).ready(function(){
readData($("#data"));
});
</script>
<script src="https://spreadsheets.google.com/feeds/cells/1uwdoylX-De2A8XiIefAJqUBukpy8T2FAEraNN-PzCRE/1/public/values?alt=json-in-script&callback=doData"></script>
</head>
<body>
<h1>Parse Google Spreadsheet with JavaScript</h1>
<p><div id="data"/></p>
</body>
</html>