javascript - 如何将 createTextNode() 的值转换为链接?

标签 javascript filter

我有一个过滤方法,它返回数组的键和值。现在我得到了完整的 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/

相关文章:

javascript - 过滤通过GitHub API获取的数据

javascript - 如何从网址截取网页快照?

javascript - 在不同的子域上使用 Socket.IO 服务器和客户端

javascript - $(element).data ("dataAtribute") 与 $(element).hasClass ("className")

wpf - 使用 MVVM 过滤 WPF TreeView

javascript - 我的表单提交和 jquery 问题

ios - 过滤嵌套数组和字典

jquery - 在列表中过滤 Jquery 中的结果

networking - tcpdump 将 tcp 流量过滤到 csv 文件中

java - 服务器遇到意外情况,无法满足请求。 HTTP 500