我有一个过滤方法,它返回数组的键和值。现在我得到了完整的 url,但我需要将它包装在标签中,这样我就可以将 url 传递给它的 href。过滤方法:
let filtered = myData.map(row =>
Object.fromEntries(
Object.entries(row).filter(it => {
let key = it[0];
return ['Carat','Clarity','Shape', 'Color', 'Cut','Symmetry','Report', 'view' ].indexOf(key) >= 0
})
)
);
View 的值是 return 语句中的最后一个元素,它给出了一个 url。当我执行以下操作生成我的表时,我得到了键和值,但是我如何选择该 View (这是一个链接)并将其包装在标签中并将 View 放在 href 中?
function generateTableHead(table, data) {
let thead = table.createTHead();
let row = thead.insertRow();
for (let key of data) {
let th = document.createElement("th");
let text = document.createTextNode(key);
// casual formalities
th.appendChild(text);
row.appendChild(th);
}
}
function generateTable(table, data) {
for (let element of data) {
let row = table.insertRow();
for (key in element) {
let cell = row.insertCell();
let text = document.createTextNode(element[key]);
cell.appendChild(text);
}
}
}
let table = document.querySelector("table");
// create a variable from values
generateTable(table, filtered);
// create variable from keys
generateTableHead(table, headArr);
最佳答案
取JS中的值并使用innerHTML将一个html元素设置为href元素的模板字面量...
例如
//JS
let link = "https://yoururl.com/path/thingy";
let targetElement = document.getElementById("myDiv");
targetElement.innerHTML = `<a href=${link}>thingy</a>`;
关于javascript - 如何将 createTextNode() 的值转换为链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58020271/